MySQL高级-索引优化

  索引失效

     

      1、

      

      2、最佳左前缀法则

        

      4、

      

    8、

      

      

        使用覆盖索引解决这个问题。

      

       

      

  二、索引优化

    1、ORDER BY 子句,尽量使用Index方式排序,避免使用FileSort方式排序

      MySQL支持两种方式的排序,FileSort和Index,Index效率高。它指MySQL扫描索引本身完成排序。FileSort方式效率较低。

      ORDER BY 满足两种情况,会使用Index方式排序

        ①ORDER BY语句使用索引最左前列

        ②使用WHERE 子句与ORDER BY子句条件列组合满足索引最左前列

     

    

  2、GROUP BY 关键字优化

    1、group by 实质是先排序后分组,遵照索引的最佳左前缀。

    2、当无法使用索引列,增大max_length_for_sort_data参数的设置+增大sort_buffer_size参数的设置

    3、where 高于having,能写在where限定的条件就不要去having去限定了。

 

  索引失效

     

      1、

      

      2、最佳左前缀法则

        

      4、

      

    8、

      

      

        使用覆盖索引解决这个问题。

      

       

      

  二、索引优化

    1、ORDER BY 子句,尽量使用Index方式排序,避免使用FileSort方式排序

      MySQL支持两种方式的排序,FileSort和Index,Index效率高。它指MySQL扫描索引本身完成排序。FileSort方式效率较低。

      ORDER BY 满足两种情况,会使用Index方式排序

        ①ORDER BY语句使用索引最左前列

        ②使用WHERE 子句与ORDER BY子句条件列组合满足索引最左前列

     

    

  2、GROUP BY 关键字优化

    1、group by 实质是先排序后分组,遵照索引的最佳左前缀。

    2、当无法使用索引列,增大max_length_for_sort_data参数的设置+增大sort_buffer_size参数的设置

    3、where 高于having,能写在where限定的条件就不要去having去限定了。

 

猜你喜欢

转载自www.cnblogs.com/jpfss/p/9188216.html