在按范围查询的字段上建立非聚集索引,好象没有效果

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

象查某一年龄段,或某时间段的会员,在年龄,时间字段上见非聚集索引好象一点作用都没有,难道只能见聚集索引吗?因为有其他更常用的字段上见了聚集索引。  
   
  这样的查询应该怎样来优化,加快查询速度呢?  
   
  我们的综合查询条件有,性别,年龄,学历,注册时间,职业,身高等,因为我们在会员编号上建了聚集索引,所以这些字段上都最多只能建非聚集索引

· 网友精彩回答:

发表者:wangdehao

在年龄,注册时间,身高上建非聚集索引应该是有效果的

发表者:phantomman

应该是你查询语法问题,我有下面一个表,共有80多万个字段:  
  create   table   bigtbl(  
  bid   int   identity(1,1)   primary   key,  
  bname   varchar(50),  
  bsex   bit,  
  bnumber   int  
  )  
  go  
   
  没有建立索引时花费时间为203毫秒左右:  
  declare   @d   datetime  
  set   @d=getdate()  
  select   bnumber   from   bigtbl   where   bnumber   >=   99000  
  select   [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())  
   
  而在建立索引后花费时间为46毫秒左右:  
 

发表者:hlq8210

不要在重复数据量大的列上建立索引

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved