mysql查询优化之基于索引的排序
2008-08-21 11:11
549 查看
MySQL的弱点之一是它的排序。虽然MySQL可以在1秒中查询大约15,000条记录,但由于MySQL在查询时最多只能使用一个索引。因此,如果 WHERE条件已经占用了索引,那么在排序中就不使用索引了,这将大大降低查询的速度。
我们可以看看如下的SQL语句:
SELECT * FROM SALES WHERE NAME = "jack" ORDER BY SALE_DATE DESC;
在以上的SQL的WHERE子句中已经使用了NAME字段上的索引,因此,在对SALE_DATE进行排序时将不再使用索引。为了解决这个问题,我们可以对SALES表建立复合索引:
ALTER TABLE SALES DROP INDEX NAME, ADD INDEX (NAME, SALE_DATE)
这样再使用上述的SELECT语句进行查询时速度就会大副提升。
我们可以看看如下的SQL语句:
SELECT * FROM SALES WHERE NAME = "jack" ORDER BY SALE_DATE DESC;
在以上的SQL的WHERE子句中已经使用了NAME字段上的索引,因此,在对SALE_DATE进行排序时将不再使用索引。为了解决这个问题,我们可以对SALES表建立复合索引:
ALTER TABLE SALES DROP INDEX NAME, ADD INDEX (NAME, SALE_DATE)
这样再使用上述的SELECT语句进行查询时速度就会大副提升。
相关文章推荐
- mysql查询优化之基于索引的排序
- MySQL优化索引及优化汉字模糊查询语句
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- MySQL索引原理与慢查询优化
- MySQL性能优化—慢查询分析、优化索引及配置优化
- 【mysql】索引原理-MySQL索引原理以及查询优化
- MySQL 索引原理及慢查询优化
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- mysql优化:慢查询分析、索引配置优化
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- MySQL查询优化之三-索引合并优化(Index Merge Optimization)
- mysql性能优化(九) mysql慢查询分析、优化索引和配置
- mysql千万级数据量根据索引优化查询速度
- MySQL查询效率优化--添加索引命令
- mysql性能优化-慢查询分析、优化索引和配置
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- mysql性能优化-慢查询分析、优化索引和配置
- mysql性能优化-慢查询分析、优化索引和配置
- MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计?
- mysql查询优化--mysql 强制走索引