当前位置: 首页 > oracle > 正文

Oracle索引管理

1. 索引有效准则

1.1 访问的数据少于 15%
1.2 小表
1.3 为所有表创建主键,主键上自动生成索引
1.4 为多表链接中的列创建索引
1.5 WHERE中频繁使用的列创建索引
1.6 对ORDER BY、GROUP BY涉及的列建立索引
1.7 常字符串的列通常不要建立索引
1.8 频繁更新的列,涉及开销,通常不要建立索引
1.9 保持索引数目尽量少

2. 估算索引的尺寸

	dbms_space.create_index_cost 方法

3. 建立索引

	create 
	[
		bitmap		--位图索引
	]
	index indx1 on table(col_list)
	[
		reverse		--反向键索引
	]
	tablespace sp1

4. 函数索引

	create index ind2 on tb1(func(col1))

5. 全局索引

不分区:

	create index ind3 on tb2(col1)
	global partition by range(col1)
	(
		partition p1_ind values less than (val1),
		partition p2_ind values less than (val2)
	)

散列分区

	create index ind4 on tb3(col1)
	global partition by hash (v1, v2)
	(
		partition p1_ind tablespace ts1,
		partition p2_ind tablespace ts2
	)

6. 本地索引

	create index index_l1 on tb(col) LOCAL
	tablespace localsp1

7. 索引使用情况监控

	alter index ind1 monitoring usage;
	some query;
	alter index ind1 nomonitoring usage;
	select * from v$object_usage where index_name = 'ind1';

8. 重建索引

	alter index ind1 REBUILD
	[
		online				--此时可以进行DML操作
	]
    分享到:

本文固定链接: http://klwang.info/manage-of-oracle-inde/ | 数据库|Linux|软件开发

该日志由 klwang 于2013年04月16日发表在 oracle 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Oracle索引管理 | 数据库|Linux|软件开发
【上一篇】
【下一篇】

Oracle索引管理:等您坐沙发呢!

发表评论

*
快捷键:Ctrl+Enter