现在的位置: 首页 > 综合 > 正文

oracle中的对象

2018年03月29日 ⁄ 综合 ⁄ 共 1067字 ⁄ 字号 评论关闭

1)使用索引:

使用索引,可以大大加快数据的定位速度,通过使用索引,可以大大的降低i/o次数,从而提高sql语句的访问性能;

建立索引

如下:

create index index_name on table_name(column_name);

 

建立索引的方针:

1)索引正确的表和列:

如果选择了不合适的表和列,那么不仅仅不能提高查询的速度,还会极大的降低DML操作的速度,

所以建立索引应该用在where子句经常引用的表列上,

为了提高多表连接的性能,应该在连接列上建立索引

如果经常需要基于某列或者某几列执行排序操作,那么应该在这些列上面建立索引,可以加快数据排列的速度

不要在小表上建立索引

2)限制索引的个数

3)删除不需要的索引

DROP INDEX INDEX_NAME

复合索引:

复合索引的建立如下:

create index index_name on table_name(column1.column2);

建立了复合索引的时候,当用and查询建立索引的两列的时候,会引用这两个索引

如 SELECT * FROM table_name WHERE column1=xx AND column2=xx

如果是执行建立索引的主字段上面为column1

如下

SELECT * FROM table_name WHERE column1=xx

那么该索引将被引用;

如果是用其从属字段执行查询或者用OR连接的话,那么这个索引都不会被引用

如下

SELECT * FROM table_name WHERE column2=xx

或者

SELECT * FROM table_name WHERE column1=xx OR column2=xx'

 

维护索引:

当重新组织表以后,索引就会陷入无序状态,这个时候,我们应该重建索引

ALTER INDEX index_name REBUILD

如果我们在重建索引的时候,别的会话在表上执行DML操作,那么我们应该执行联机重建索引

ALTER INDEX index_name REBUILD ONLINE

 

索引信息都记录在

user_indexes里面

 

 

序列:

oracle里面的序列是生成为唯一数字的数据库对象

CREATE SEQUENCE sequence_name

increment by n

start with n

maxvalue n

minvalue n

cycle|nocycle

cache |nocache

使用序列

sequence_name.currval

 

sequence_name.nextval

修改序列:

ALTER SEQUENCE sequence_name 。。。。。。

 

信息都存储在user_sequences里面;

抱歉!评论已关闭.