• sql优化


    • ①禁止使用 select *,需要什么字段查询什么字段。

    • ②where 字段设置索引。

    • ③group by、order by 字段设置索引。

    • ④舍弃 offset,limit 分页,使用延迟关联来实现分页(数据量不大时可不用)。

    • ⑤写分页时当 count 为 0 时,直接返回避免执行分页语句。

    • ⑥利用覆盖索引进行查询避免回表。

    • ⑦建立复合索引时区分度最高的放在最左侧。

    • ⑧统计数据行数只用 count(*),别整的花里胡哨的。

    • ⑨关于 in 和 exist,如果查询的俩个表大小一致则性能差别可忽略,如果子查询表大用 exist,否则使用 in。

    • ⑩查询一行数据时加上 limit 1。

    • ⑪选择合理的数据类型,在满足条件下数据类型越小越好。

    • ⑫联合查询 join 最多三个表,并且需要 join 的字段数据类型保持一致。

    • ⑬in 操作能避免尽量避免,无法避免的情况下 in 元素控制在 1000 以内。

    • ⑭数据更新频繁,区分度不高的列不适合建立索引。

    • ⑮explain 中的 type 至少要达到 range,要求为 ref。

    • ⑯联合索引满足最左侧原则。

  • 相关阅读:
    2017.8.07
    2017.8.05
    2017.8.04
    2017.8.03
    2017.8.02
    2017.8.01
    2017.7.31
    2017.7.29
    2017.7.28
    简易日历
  • 原文地址:https://www.cnblogs.com/yyldh/p/14481154.html
Copyright © 2020-2023  润新知