测试开发

mysql_索引的重要性

2017-08-17  本文已影响17人  古佛青灯度流年

最近遇到个小坑,《数据库表不断插入新数据,但是读表操作却越来越慢》。

原因:

之前的表结构中没有加入所需条件的索引字段,这样每次查询表的时候都是全表扫描;

EXPLAIN SELECT * FROM api_performance WHERE time_stamp='1500899762.0' ORDER BY id DESC ;
结果

通过这条sql可以发现,在没建立索引的时候,执行sql需要遍历18075行数据;执行时间为:275ms

解决

在数据库表中建立索引字段:time_stamp,然后在执行sql;

EXPLAIN SELECT * FROM api_performance WHERE time_stamp='1500899762.0' ORDER BY id DESC ;
结果

通过结果可以发现这时候只需要表里7行数据就能查出我所要的值了;执行时间20ms;

总结

就是一个简单的索引,竟然让查询速度呈现指数级的增长,果然厉害,看来数据库的水还是很深的。。。

@晴天-2017-08-17 11:14:55

上一篇 下一篇

猜你喜欢

热点阅读