我有个数据表(table1)里面有100多个字段,有10万多条记录?我想提高查询数据表的速度
别人说要对查询字段建立索引。
假设要建立索引的字段名为型号 ,规格比如说
select * from table1 where 型号='XXX' and 规格='YYY'为提高查询速度建立这两个索引的指令怎么写?然后查询带索引的指令怎么写
、、我要是每次都显示100条字段内容要想速度快。还有没有其他的设计思路请告诉我具体指令怎么写

解决方案 »

  1.   


    http://hi.baidu.com/yy3b2007com/blog/item/4814b3d9a3c99de738012fa5.html--以上为创建索引语法
    如果建有索引是不需要语句让他开启的,查询时会自动处理。
    如果查询的结果集的数据超过了原表数据的一定百分比,索引的作用就不大了
      

  2.   


    一般情况给where后面用到的字段建立索引,这个能看明白吧??
    当查询出来的数据的结果超过被查询表的数据的一定百分比,
    加索引与不加索引查询速度没好大区别
    能明白了么?
      

  3.   

    select * from table1 where 型号='XXX' and 规格='YYY'create clustered index indexname on table1(型号)
    create NONCLUSTERED index indexname on table1(规格)
    --我只是感觉该这样创建.不知道跟你的真实环境合适不合适
      

  4.   

    通常情况下:create index idx_nc_cid_od_i_oid_eid_sid on dbo.table1 (字段1,字段2) include([型号],[规格])    
    --当你在创建索引的时候,可以在include子句里添加上where子句中使用到的谓词,这里就是[型号],[规格]select 字段1,字段2 from dbo.table1 with(nolock) where 型号='XXX' and 规格='YYY'
    --这样当你执行select语句的时候就可以使用到索引了具体你可以去查看下复合索引、include的具体说明。