sql语句使用大写
把 * 替换成所有字段名
条件子句,优先顺序:on,where ,having
exists替代 in ,not exists 替代 not in
-“ >=”替代>,例如>=4比>3好group by 最好使用where子句先筛选后分组,不用having先分组后筛选
where子句执行顺序:从右到左,过滤掉最多记录的条件必须写在WHERE子句的最后
-
索引
- 查看索引字段
select * from user_indexes where TABLE_NAME='表名'
- 查看被索引字段信息
select * from user_ind_columns where index_name=upper('索引名');
- 避免索引使用not,使用计算,导致不适用索引而是全表扫描
- 索引建立在多个列,只有在第一个列使用where子句才能保证优化器使用该索引
- 用 union 代替 or(针对多个索引列)
- where 中一下内容不适用索引
- '!=',not,'<>'
- 字符连接函数
- 数学函数
- 相同索引列互相比较
- 通配符出现在搜索词首,例如:"%aa"
- 控制比较 null
- 查看索引字段
-
pl/sql的F5-》分析计划窗口
- 第一行是总体消耗值
- 缩进最多最先执行,缩进相同,从上到下
- 表的访问方式
- table access full 全表扫描
- index fast full scan 索引扫描
- 基数:数据行数
Oracle 优化
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。