免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: UIRL
打印 上一主题 下一主题

请教关于order by 的优化 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-07-28 16:10 |只看该作者
原帖由 sunnyfun 于 2008-7-28 14:59 发表


挖坟啊,呵呵,那时候还没觉悟到order by可以当and去优化



刚才我在清理帖子的时候看到有人给了一个链接,就去看了看,刚好回答了一下

论坛徽章:
0
12 [报告]
发表于 2008-07-28 17:26 |只看该作者
原帖由 UIRL 于 2007-7-31 15:49 发表
一个表,当前约50万条记录, 每日增长 3000 条左右.

SELECT * FROM table WHERE key1 = CONTANST AND key2 = CONTANST ORDER BY key DESC LIMIT N;

其中, key 为主键, key1 为索引字段.

请问有什么方法可 ...



首先,单独针对于你的这个order by优化的话,只能将排序字段加入目前利用到的索引里面才能利用现有索引进行排序。
其次,考虑到你的查询条件中的key1上面有索引,而key1的条件是constant,所以,可以通过如下方式来尝试优化一下:
1、创建组合索引(key1,key),同时将sql语句的order by更改成如下:order by key1, key ...
2、如果sql执行计划能够按照预期的走,那么可以删除原有key1的索引了
再次,看看key2的值分布情况,如果不是非常集中,也可以针对于你这条语句再做一点点优化,也就是将key2也加入到索引中,组成一个(key1,key2,key)这样的索引,然后再测试一下效果。

希望这些信息对你能有用。

评分

参与人数 1可用积分 +1 收起 理由
yueliangdao0608 + 1 原创内容

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP