- 2
- 0
- 约2.94千字
- 约 4页
- 2019-12-09 发布于河北
- 举报
SQL优化原则和技巧
·索引的引用
索引的删除与重建
当插入的数据为数据表中的记录数量的10%以上,首先删除该表的索引来提高数据的插入效率,当数据插入后,在建立索引
2、避免在所有列上使用函数或计算,
在where字句中,如果索引是函数的一部分,优化器将不再使用索引而是用全表扫描。如:
低效:select * from table_name where col1*101000;
高效:select * from table_name where col11000/10;
3、尽量避免在索引列上使用not和”!=”和””,
索引只能告诉你什么存在于表中,而不能告诉你什么不存在于表中,当数据库遇到not和”!=”和””时,就会停止使用索引而去执行全表扫描。
请务必注意,检索中不要对索引列进行处理,如:trim,to_date,类型转换等操作,破坏索引,使用全表扫描,影响执行效率。
避免在索引列上使用 is null 和 is not null
避免在索引中使用任何可以为空的列,oracle将无法使用索引
对于单列索引,如果列包含空值,索引将不存在此记录
对于复合索引,如果每列都为空,索引中同样不存在此记录。如果至少有一列不为空,则记录存在于索引中
因为空值不存在于索引中,所以where字句中对索引列进行空值比较将使oracle停用该索引
4、索引列上”=”代替””
低效:selec
原创力文档

文档评论(0)