sql优化

Posted 宋赟鑫 https://meilishiyan-song.t

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql优化相关的知识,希望对你有一定的参考价值。

禁止使用select * 禁止使用select * ,必须明确选择所需的列,
禁止出现重复查询子句 可以使用with as替换子句来提升SQL语句执行效率
索引列函数 在查询索引列上发生函数调用(函数索引除外)
update禁止出现order by子句 防止DML过程出现不必要的排序
update必须出现where子句 防止DML过程出现全表锁,每句SQL1分。 
禁止更新主键列值  不允许有SQL更新主键
禁止嵌套select子句 防止出现select子句的嵌套子查询,避免出现性能问题
delete必须出现where子句 防止DML过程出现全表锁
delete禁止出现order by子句 防止DML过程出现不必要的排序
索引全扫 执行计划里有INDEX FULL SCAN操作
索引跳跃 执行计划里有INDEX SKIP SCAN操作
全表扫描 对于大于200M的表全表扫描,执行计划里有TABLE ACCESS FULL操作
笛卡尔积 缺少连接条件,导致SQL使用笛卡尔积的方式进行连接
嵌套连接过深 执行计划中嵌套连接深度超过6
绑定变量 未使用绑定变量的SQL
隐式转换 在查询列上发生隐式转换

以上是关于sql优化的主要内容,如果未能解决你的问题,请参考以下文章

SQL 优化

项目中优化sql语句执行效率的方法是啥?

SQL优化之语句优化

数据库优化篇—— SQL语句优化建议

基于MySQL 的 SQL 优化总结

【DB2】SQL优化