首页 > 数据库技术 > 详细

MySQL 查询优化简记

时间:2014-02-10 08:28:00      阅读:492      评论:0      收藏:0      [点我收藏+]

今天尝试对一张MySQL表做查询优化, 500W数据

但是发现加了索引比不加索引使用全表扫描还慢, 上网查, 据说是因为需要回表, 因为没有用到 using index(覆盖索引), 而回表查询是随机读

1. 如果回表查询的数据是在磁盘, 随机读将会非常慢, 导致使用索引以后的查询速度是30s左右

2. 如果回表查询的数据实在内存, 则会比全表扫描快

我这里全表扫描的时间是3s

如果我将查询中所有的字段都加入索引, 则会使用覆盖索引(using index), 此时查询时间缩减为 0.5s

但是这样有个很大限制, 就是查询的字段必须全都在索引中, 否则不会使用覆盖索引, 并且, 索引将会变得非常大

MySQL 查询优化简记

原文:http://www.cnblogs.com/zemliu/p/3542055.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!