美文网首页
十一、Mysql索引优化

十一、Mysql索引优化

作者: 此间有道 | 来源:发表于2020-08-03 22:14 被阅读0次

    1. 减少大基数范围查询

    1)少用!=,<>;
    2)少用is null, is not null;

    2.等值查询时,避免转换操作

    1)避免在等号左侧的索引列上做计算操作,如函数,类型转换;
    2)避免等号右侧的类型与索引类不同而引起类型转换;

    3. 聚合索引查询时的最左前缀法则

    1)范围条件的索引会中断左前缀匹配;

    4.尽量应用覆盖索引,查询必要的列而非所有列

    5.少用范围查询

    1)少用or,in
    2)Like查询时尽量采用后模糊“xxx%”,而非前模糊“%xxx”;

    6.使用orderby或group by时尽量对索引列操作,避免出现filesort

    7. in, exist

    1)select * from A where id in (select id from B)
    以B为驱动表去遍历A;适合于B数据量 < A数据量
    2)select * from A where exists (select 1 from B where B.id = A.id)
    以A为驱动表去遍历B;适合于B数据量 > A数据量

    8.count

    count(*) ,count(1)会统计字段为null的行;
    count(col)不会统计该列为null的行;

    相关文章

      网友评论

          本文标题:十一、Mysql索引优化

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