SQL优化

作者: Okami_ | 来源:发表于2019-04-18 15:26 被阅读28次

    查询优化

    • 尽量全值匹配

      • 尽量把索引里所有的列都匹配上(where)
    • 最佳左侧原则

      • 如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列
    • 不在索引列上做任何操作(计算、函数、类型转换),会导致索引失效而转向全表扫描

    • 减少隐形的类型转换,比如varchar转换成int

    • 范围条件放在最后,存储引擎不能使用索引中范围条件右边的列

    • 尽量使用覆盖索引,减少select *

    • MySQL在使用不等于(!=或<>)的时候无法使用索引,会导致全表扫描

    • like以通配符开头会导致索引失效

    • 字符串不加单引号会导致索引失效

    • or改成union效率更高

    插入insert优化

    • 提交前关闭自动提交
    • 尽量使用批量insert语句
    • 可以使用MyISAM存储引擎
    • 使用LOAD DATA INFILE,比一般的insert快20倍

    参考链接

    MySQL 索引原理及设计:
    https://icell.io/how-mysql-index-works/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

    相关文章

      网友评论

        本文标题:SQL优化

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