免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3477 | 回复: 6
打印 上一主题 下一主题

请帮这样一个表建立索引,提高查询速度 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-02 14:48 |只看该作者 |倒序浏览
表结构是:
CREATE TABLE [Odds_Europe] (
        [ID] [int] IDENTITY (1, 1) NOT NULL ,
        [FixtureID] [int] NOT NULL ,
        [CompanyName] [varchar] (40) NULL ,
        [Win] [varchar] (10) NULL ,
        [Draw] [varchar] (10)  NULL ,
        [Lost] [varchar] (10)  NULL ,
        [Rate] [varchar] (10)  NULL ,
        [CreateTime] [datetime] DEFAULT (getdate())


查询的条件是:select * from odds_europe where win=\'3.01\' and draw=\'6.25\' and lost=\'8.25\' and companyname=\'ibc\' order by CreateTime desc
整个表中的数据有2000W条!
如果建立聚集索引和非聚集索引能加快此语句的查询速度?

麻烦高手,版主帮帮忙:rose: :rose:

论坛徽章:
0
2 [报告]
发表于 2008-04-02 14:58 |只看该作者
请知道的帮帮忙哟。。
感激不尽!!

论坛徽章:
0
3 [报告]
发表于 2008-04-02 15:07 |只看该作者
CreateTime---聚集(降序)
win,draw,lost---复合非聚集(注意顺序)

try it again!

论坛徽章:
0
4 [报告]
发表于 2008-04-02 15:17 |只看该作者
我改一下查询条件呢?
查询的条件是:select * from odds_europe where win=\'3.01\' and draw=\'6.25\' and lost=\'8.25\' and companyname=\'ibc\' and fixtureid=\'65465\' order by CreateTime desc

论坛徽章:
0
5 [报告]
发表于 2008-04-02 15:26 |只看该作者
CreateTime---聚集(降序) 不变.
win,draw,lost---复合非聚集(注意顺序)
建议加上fexid.fexid排最前面.然后sql语句的where条件 按照 符合索引顺序排列 形成索引覆盖.这样速度快.

论坛徽章:
0
6 [报告]
发表于 2008-04-02 15:47 |只看该作者
好的,我试一下,看下查询的速度!
一会报告测试结果,呵!!!

论坛徽章:
0
7 [报告]
发表于 2008-04-02 16:55 |只看该作者
呵,速度得到很大的提高!
是没做索引的至少10倍!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP