打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
oracle 9i sql sequence, index, synonym
2008年07月19日 星期六 05:30
oracle 9i sql sequence, index, synonym
 
今天的日志是关于SEQUENCE, INDEX, SYSNONYM相关知识:
1. SEQUENCE:序列是一种可以用来生成一系列整数的数据库对象.经常用来a.生成各个记录的唯一主键或 帮助进行内部控制.举一个例子来说明内部控制:企业中发票是按顺序排列的,如果中间出现断层,那就可以说明,有一些发票被挪为私用了.
1)CREATE SEQUENCE sequencename
[INCREMENT BY value]
[START WITH value]
[{MAXVALUE value|NOMAXVALUE}]
[{MINVALUE value|NOMINVALUE}]
[{CYCLE|NOCYCLE}]//用来确定在到达最小值或最大值后,是不是重新开始发出序列中的值
[{ORDER|NOORDER}]//主要应用于"应用程序机群环境中",指示是否按照接收要求的顺序返回序列值
[{CACHE value|NOCACHE}];//为了加速处理用户的请求速度,如果选用CACHE选项,那么系统会事先生成一组值.但是用CACHE之后,如果系统崩溃了,系统事先生成的那一部分值将不可用,这样会造成一定的断层,可能会影响内部控制.
例子:CREATE SEQUENCE orders_ordernumber
INCREMENT BY 1
START WITH 1021
NOCACHE
NOCYCLE;
用法:INSERT INTO orders VALUES(orders_ordernumber.nextval,'06-apr-03','GA');
可以通过 SELECT * FROM user_sequences;查询 MIN_VALUE, MAX_VALUE, INCREMENT_BY, CACHE, ORDER, CACHE_SIZE, LAST_NUMBER等信息.
2)ALTER SEQUENCE sequencename
[INCREMENT BY value]
[{MAXVALUE value|NOMAXVALUE}]
[{MINVALUE value|NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{ORDER|NOORDER}]
[{CACHE value|NOCACHE}];
a.不能更改START WITH子句,要想更改,就必须删除并重新创建这个序列
b.更改不能使现有的序列无效
2.索引 INDEX:
1)CREATE INDEX indexname
ON tablename (columnname,......);
2)以下状况不适合创建索引:
a.经常进行更新的表
b.如果雨季出巡返回的行将超过5%,那么索引不会加快行的检索
3)以下适合创建:
a.表很大,并且在WHERE子句中经常使用特定的列
b.列通常包含大量NULL值
c.在某些情况下,索引可能适合用于基于计算值或函数的情况.
如:CREATE INDEX indexname ON tablename(retail-cost);
3.同义词SYNONYM
CREATE [PUBLIC] SYNONYM synonymname FOR objectname;
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle中的序列(sequence) - 问题集锦 - IXDBA.NET技术社区
如何使用Oracle序列
Oracle中的序列sequence
mysql创建序列--用于创建编码,自增字段
如何修改序列(Sequence)的初始值(START WITH)
oracle 自增 auto
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服