60万数据,Select语句加了个Order by...效率低了10倍?
SELECT *
FROM `jtbc_article`
LIMIT 611010 , 30
显示行 611010 - 611015 (611,016 总计, 查询花费 0.3408 秒)
--------------------------------------
SELECT *
FROM `jtbc_article`
ORDER BY aid DESC
LIMIT 611010 , 30
显示行 611010 - 611015 (611,016 总计, 查询花费 2.9877 秒)
--------------------------------------
SELECT *
FROM `jtbc_article`
ORDER BY aid ASC
LIMIT 550050 , 30
显示行 550050 - 550079 (611,016 总计, 查询花费 2.4494 秒)
[color=#0000FF]有人告诉我为啥不。有啥优化办法![/color]
FROM `jtbc_article`
LIMIT 611010 , 30
显示行 611010 - 611015 (611,016 总计, 查询花费 0.3408 秒)
--------------------------------------
SELECT *
FROM `jtbc_article`
ORDER BY aid DESC
LIMIT 611010 , 30
显示行 611010 - 611015 (611,016 总计, 查询花费 2.9877 秒)
--------------------------------------
SELECT *
FROM `jtbc_article`
ORDER BY aid ASC
LIMIT 550050 , 30
显示行 550050 - 550079 (611,016 总计, 查询花费 2.4494 秒)
[color=#0000FF]有人告诉我为啥不。有啥优化办法![/color]
作者: ldxsik 发布时间: 2011-05-19
引用有人告诉我为啥不
因为MYSQL需要对你的数据进行排序,这个需要时间。 希望这个解释楼主能够看明白。
引用有啥优化办法!
创建aid 的索引 ,如何创建索引,楼主可以在MYSQL提供的免费的官方手册中搜索 create index的用法。
作者: ACMAIN_CHM 发布时间: 2011-05-19
order by 以后需要用到临时表空间对表内容字段排序
所以在aid字段上加索引试试
所以在aid字段上加索引试试
作者: rucypli 发布时间: 2011-05-19