sql优化

作者: 垂直居中的句号 | 来源:发表于2023-08-29 23:40 被阅读0次

    1.使用explain分析,避免全表扫描

    2.不走索引的几种情况

    (1).like以%开头

    (2).不遵循where条件最左原则

    (3).查询字段有函数、计算、字段类型转换等

    (4).where条件中使用or

    (5).where条件判断索引列 is null

    (6).索引列使用!=,<>会导致不走索引

    (7).in中包含太多值,造成效率慢,exists代替in,

    in 优先执行子查询,适用于左边大表,右边小表。exists 优先执行主查询 ,适用于左边小表,右边大表。不管是用in,还是exists关键字,其核心思想都是用小表驱动大表。

    链接查询代替in子查询,mysql执行子查询时,需要创建临时表,查询完毕后,需要再删除这些临时表,有一些额外的性能消耗。

    (8).避免使用having,可用where代替。

    (9).小表驱动大表,

    3.避免使用select  count(*)、select  *

    4.order by 使用索引列 避免使用表达式

    5.union all 效率比union高

    6.jion字段列使用索引列,且字段类型相同

    http://t.csdn.cn/awMH1

    相关文章

      网友评论

          本文标题:sql优化

          本文链接:https://www.haomeiwen.com/subject/efpomdtx.html