zoukankan      html  css  js  c++  java
  • SQL性能优化-order by语句的优化

    原文:http://bbs.landingbj.com/t-0-243203-1.html

    在某些情况中,MySQL可以使用一个索引来满足ORDER BY子句,而不需要额外的排序。where条件和order by使用相同的索引,并且order by的顺序和索引顺序相同,并且order by的字段都是升序或者都是降序。

    例如:下列sql可以使用索引。

    SELECT * FROM t1 ORDER BY key_part1,key_part2,... ;
    SELECT * FROM t1 WHERE key_part1=1 ORDER BY key_part1 DESC, key_part2 DESC;
    SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 DESC;


    但是以下情况不使用索引。

    1) SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC;

    --order by的字段混合ASC和DESC
    2) SELECT * FROM t1 WHERE key2=constant ORDER BY key1;
    --用于查询行的关键字与ORDER BY中所使用的不相同
    3) SELECT * FROM t1 ORDER BY key1, key2;
    --对不同的关键字使用ORDER BY 
    逆风的方向更适合飞翔,不怕千万人阻挡,只怕自己投降!
  • 相关阅读:
    Linux常用命令_(系统设置)
    Linux常用命令_(系统管理)
    Linux常用命令_(基本命令)
    敏捷测试的流程
    Web测试Selenium:如何选取元素
    Selenium学习
    Selenium介绍
    Selenium测试规划
    HTTPS传输协议原理
    常见的加密算法
  • 原文地址:https://www.cnblogs.com/jackzz/p/9125944.html
Copyright © 2011-2022 走看看