MySQL数据库优化

数据库 MySQL
MySQL数据库的发展技术是非常先进的,这就源于MySQL数据库优化的贡献,数据库优化使MySQL数据库更为完善,下面就带着大家了解了解MySQL数据库的优化。

MySQL数据库优化是怎么个情况,别着急,下面就是,大家接着了看。希望大家通过本次的阅读,可以学到东西。

 MySQL 如何优化ORDER BY

  在一些情况下,MySQL可以直接使用索引来满足一个 ORDER BY 或 GROUP BY 子句而无需做额外的排序。

  尽管 ORDER BY 不是和索引的顺序准确匹配,索引还是可以被用到,只要不用的索引部分和所有的额外的 ORDER BY字段在WHERE 子句中都被包括了。下列的几个查询都会使用索引来解决 ORDER BY 或 GROUP BY 部分:

  SELECT*FROMt1ORDERBYkey_part1,key_part2,...;

  SELECT*FROMt1WHEREkey_part1=constantORDERBYkey_part2;

  SELECT*FROMt1WHEREkey_part1=constantGROUPBYkey_part2;

  SELECT*FROMt1ORDERBYkey_part1DESC,key_part2DESC;

  SELECT*FROMt1

  WHEREkey_part1=1ORDERBYkey_part1DESC,key_part2DESC;

  在另一些情况下,MySQL无法使用索引来满足 ORDER BY,尽管它会使用索引来找到记录来匹配WHERE子句。这些情况如下:

  对不同的索引键做 ORDER BY :

  SELECT * FROM t1 ORDER BY key1, key2;

  在非连续的索引键部分上做 ORDER BY:

  SELECT * FROM t1 WHERE key2=constant ORDER BY key_part2;

  同时使用了 ASC 和 DESC:

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

  用于搜索记录的索引键和做 ORDER BY 的不是同一个:

  SELECT * FROM t1 WHERE key2=constant ORDER BY key1;

  有很多表一起做连接,而且读取的记录中在 ORDER BY 中的字段都不全是来自***个非常数的表中(也就是说,在EXPLAIN分析的结果中的***个表的连接类型不是 const)。

  使用了不同的 ORDER BY 和 GROUP BY 表达式。

  表索引中的记录不是按序存储。例如,HASH 和 HEAP 表就是这样。

文章中详细介绍的就是MySQL对ORDER BY的优化方法,学会了这一点,相信大家在以后的工作中用起来就信手拈来。

【编辑推荐】

  1. MySQL数据库优化SQL的三个方法
  2. 实现MySQL数据库优化的具体方法
  3. MySQL数据库优化中要用到哪些语句? 
责任编辑:迎迎 来源: 专家网
相关推荐

2011-03-08 08:49:55

MySQL优化单机

2013-01-04 10:00:12

MySQL数据库数据库查询优化

2019-04-02 10:36:17

数据库MySQL优化方法

2015-03-04 13:53:33

MySQL数据库优化SQL优化

2011-05-19 13:25:15

MySQL数据库优化

2018-06-26 15:58:06

数据库MySQL索引优化

2022-06-20 05:40:25

数据库MySQL查询

2011-03-09 08:53:02

MySQL优化集群

2017-06-16 21:36:14

2011-07-06 14:12:20

MySQLPercona

2010-11-22 13:23:52

MySQL数据库优化

2011-07-06 10:49:50

MySQL优化

2018-04-10 14:36:18

数据库MySQL优化技巧

2009-06-30 22:31:23

关键参数MySQL性能优化

2010-06-13 13:35:06

MySQL数据库优化

2010-05-20 18:12:37

MySQL数据库查询

2011-08-05 11:01:15

MySQL数据库设计

2018-01-31 17:50:33

数据库MySQL优化

2010-05-14 14:12:58

MySQL数据库优化

2023-03-13 00:01:10

数据库性能MySQL
点赞
收藏

51CTO技术栈公众号