您现在的位置是:网站首页> 编程资料编程资料
Oracle提高sql执行效率的心得建议_oracle_
2023-05-27
369人已围观
简介 Oracle提高sql执行效率的心得建议_oracle_
复制代码 代码如下:
-->FROM子句中包含多个表的情况下,选择记录条数最少的表作为基础表
-->解析WHERE子句是自下而上的 过滤条件要有顺序
-->ORACLE会将'*'转换成列名
-->DELETE会在rollback segment中存放可恢复信息,可以试试TRUNCATE
-->COMMIT会释放:1.rollback segment
2.被程序语句获得的锁
3.redo log buffer
-->把Alias前缀于每个Column上可以减少解析的时间
-->ORACLE解析sql语句时会把小写的字母转换成大写的再执行
-->在索引列上使用NOT会停止使用索引转而执行全表扫描
-->在索引列上进行运算会停止使用索引转而执行全表扫描
-->使用'>=',而不是'>'
-->where子句中'!='、'||'、'+'等符号会破坏索引
-->IN的效率很低,IN子句将执行一个内部的排序和合并
-->EXIST查询更为迅速
-->对于两个索引列,UNION比OR效率更高
-->IS NULL会破坏索引
-->DISTINCT,UNION,MINUS,INTERSECT,ORDER BY等都带有SORT功能,会耗费资源
-->多个索引列时尽量使用第一个索引列
-->尽量用 UNION ALL代替UNION
-->不要用TO_NUMBER()之类的函数改变索引列的类型。
-->对于字符类型的索引列尽量写成:col = '123' 而不是 col = 123,后者会被解析为TO_NUMBER(EMP_TYPE)=123
-->适当的地方使用适当的关键字:HAVING会在检索出所有记录之后对结果集进行过滤 能使用WHERE解决时不要用HAVING
-->索引也需要维护,INSERT,DELETE,UPDATE会因索引而做出更多次I/O
-->重构索引是必要的:ALTER INDEX
您可能感兴趣的文章:
相关内容
- Oracle中检查是否需要重构索引的sql_oracle_
- Oracle数据库设置任务计划备份一周的备份记录_oracle_
- oracle数据库sql的优化总结_oracle_
- sqlplus登录\连接命令、sqlplus命令的使用大全_oracle_
- Oracle SQL tuning 数据库优化步骤分享(图文教程)_oracle_
- Oracle基本查询过滤排序示例解析_oracle_
- Oracle中创建和管理表详解_oracle_
- Oracle数据库基本常用命令汇总_oracle_
- Oracle中PL/SQL中if语句的写法介绍_oracle_
- 浅析新建Oracle数据库的三种方法_oracle_
