MySQL查询优化之ORDER BY
来源:互联网 发布:方正国际软件苏州 编辑:程序博客网 时间:2024/05/02 22:51
数据库表uc_user_baseinfo
中含有55万条数据,进行如下实验:
不使用ORDER BY情况下的执行时间
SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 0,10;执行成功,当前返回:[10]行,耗时:[109ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 10,10;执行成功,当前返回:[10]行,耗时:[110ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 100,10;执行成功,当前返回:[10]行,耗时:[110ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 1000,10;执行成功,当前返回:[10]行,耗时:[109ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 10000,10;执行成功,当前返回:[10]行,耗时:[115ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 100000,10;执行成功,当前返回:[10]行,耗时:[150ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 200000,10;执行成功,当前返回:[10]行,耗时:[191ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 300000,10;执行成功,当前返回:[10]行,耗时:[231ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 400000,10;执行成功,当前返回:[10]行,耗时:[271ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' limit 500000,10;执行成功,当前返回:[10]行,耗时:[311ms.]
使用ORDER BY DESC情况下的执行时间
SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 0,10;执行成功,当前返回:[10]行,耗时:[104ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 10,10;执行成功,当前返回:[10]行,耗时:[122ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 100,10;执行成功,当前返回:[10]行,耗时:[104ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 1000,10;执行成功,当前返回:[10]行,耗时:[105ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 10000,10;执行成功,当前返回:[10]行,耗时:[111ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 100000,10;执行成功,当前返回:[10]行,耗时:[169ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 200000,10;执行成功,当前返回:[10]行,耗时:[236ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 300000,10;执行成功,当前返回:[10]行,耗时:[300ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 400000,10;执行成功,当前返回:[10]行,耗时:[366ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id desc limit 500000,10;执行成功,当前返回:[10]行,耗时:[445ms.]
使用ORDER BY ASC情况下的执行时间
SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 0,10;执行成功,当前返回:[10]行,耗时:[106ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 10,10;执行成功,当前返回:[10]行,耗时:[105ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 100,10;执行成功,当前返回:[10]行,耗时:[105ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 1000,10;执行成功,当前返回:[10]行,耗时:[137ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 10000,10;执行成功,当前返回:[10]行,耗时:[109ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 100000,10;执行成功,当前返回:[10]行,耗时:[152ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 200000,10;执行成功,当前返回:[10]行,耗时:[202ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 300000,10;执行成功,当前返回:[10]行,耗时:[259ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 400000,10;执行成功,当前返回:[10]行,耗时:[300ms.]SELECT id from `uc_user_baseinfo` WHERE `area_code` ='020' ORDER BY id asc limit 500000,10;执行成功,当前返回:[10]行,耗时:[466ms.]
结论
能不用ORDER BY的就不要用ORDER BY,尽量利用MySQL自增ID做查询。
0 0
- MySQL查询优化之ORDER BY
- mysql order by 查询优化
- MySQL order by 分页查询优化
- mysql优化经验之where order by
- MySQL优化三之order by
- MySQL之order by 优化(1)
- 【MySQL】性能优化之 order by (一)
- mysql order by优化
- order by优化-mysql
- mysql order by优化
- MySQL高级 之 order by、group by 优化
- MySQL 如何优化 ORDER BY
- MySQL Order By索引优化
- MySQL Order By索引优化
- MySQL Order By索引优化
- MySQL Order By索引优化
- MySQL Order By索引优化
- mysql 中 order by 优化
- 线索化二叉树
- 1.9.2导入商品到1.7.0.2商品图片不显示
- spark-2.1.0提交任务的配置参数说明
- 2017年Android最流行框架大全
- vim操作命令
- MySQL查询优化之ORDER BY
- weex 实践:入门爬坑
- Gitlabr如何设置邮件提醒?
- Jupyter notebook 使用 [持续更新]
- Linux 内核揭密
- LeetCode笔记:38. Count and Say
- vim全局替换ip
- PL/SQL 异常处理
- XML解析