oracle关于提高SQL执行效率的建议

复制代码代码如下所示:
当多个表包含在from子句中时,选择最少条目的表作为基表。

将分析子句过滤为自下而上的命令。

> > Oracle将转换为列名*

> >删除将在回滚段存储可恢复信息,并尝试截断

-->提交将被释放:1.rollback段
2。通过程序语句获得的锁。
3.redo日志缓冲区

每个列的别名前缀可以减少分析时间。

当Oracle解析SQL语句时,小写字母将被转换为大写。

>在列索引中使用不执行全表扫描停止使用索引

>在操作的列索引中将转到执行一个完整的表扫描停止使用索引。

使用> =相反--> >。

> WHERE子句=和+!| | 'symbols将损伤指标

中的效率非常低,子句中会执行内部排序和合并。

>存在查询比较快

对于两个>索引列,联合的效率高于或

> NULL将破坏索引。

>不同、联合、减号、交集、按序等都有排序功能,这将消耗资源。

使用第一个索引列尝试多个索引列

试着用工会取代工会——>

(to_number)-->不使用这些功能来改变索引的列式。

字符类型索引列-->写:col = COL = 123 '123'instead,后者将决定to_number(emp_type)= 123

使用适当关键字进行:在检索结果集的所有记录之后,筛选器在使用时不能使用

>索引还需要对索引进行维护、插入、删除、更新和I/O,以便生成更多的索引。

必须重建索引> >更改索引重建{在线}