int bigint int
id nr time这是一个百万的数据表,mysql 100%
语句:
SELECT id,cx_time FROM k_cx WHERE nr=13400043001 ORDER BY id DESC LIMIT 20;//所用时间1.058s左右,请问我该怎么优化 经测试如下语句:
SELECT id,cx_time FROM k_cx ORDER BY id DESC LIMIT 20;
//0.0s
SELECT id,cx_time FROM k_cx WHERE nr=13400043001 ORDER BY id DESC;
//0.187s
这条现在凑活用着,服务器正常了.但是还是想要只取前20条.该怎么优化呢,请问,各位高手.
id nr time这是一个百万的数据表,mysql 100%
语句:
SELECT id,cx_time FROM k_cx WHERE nr=13400043001 ORDER BY id DESC LIMIT 20;//所用时间1.058s左右,请问我该怎么优化 经测试如下语句:
SELECT id,cx_time FROM k_cx ORDER BY id DESC LIMIT 20;
//0.0s
SELECT id,cx_time FROM k_cx WHERE nr=13400043001 ORDER BY id DESC;
//0.187s
这条现在凑活用着,服务器正常了.但是还是想要只取前20条.该怎么优化呢,请问,各位高手.
解决方案 »
- mysql的workbench用不了
- 在线等一条关系维护的SQL语句。谢谢
- 大侠救命......数据库原始表转化成最近一个小时的表,值得大家研究
- 外网连接mysql数据库,为什么内网可以连接,需要设置什么吗?
- mysql5.0版本 select时候出错,为何要求SET SQL_BIG_SELECTS=1,急急急
- PostgreSQL支持负载平衡吗?
- mysql的中文问题怎么解决???怎么插入的时候连中文都写不进去
- 我这么写应该没错把!怎么总提示:Warning: Supplied argument is not a valid MySQL result resource in C:\apache\htdocs\hz\wtnr.php3 on line 5
- mysql workbench插入中文问题
- 小白来求个MYSQL语句了,大神不吝赐教啊
- 求一条 带参数的 MYSQL 存储过程。
- 请问存储过程和预处理语句,是同一个概念么?
SELECT id,cx_time FROM k_cx WHERE nr=13400043001 ORDER BY id DESC LIMIT 20;//所用时间1.058s左右
SELECT id,cx_time FROM k_cx WHERE nr=13400043001 ORDER BY id DESC;
//0.187s
怎么可能加上limit后反而效率低了这么多,贴出你的explain
参考:http://stackoverflow.com/questions/20148/myisam-versus-innodb其次建立索引
ALTER TABLE `k_cx` ADD INDEX `nr` (`nr`)然后,增加sort_buffer_size 和read_rnd_buffer_size在你的my.cnf或者my.ini里
参考:http://dev.mysql.com/doc/refman/5.5/en/order-by-optimization.html