不要问我千万级了  干嘛还用 sql server
奇葩年年有  你们懂的。我也不解释了。
1.模糊查询
多字段模糊
比如like
表中有名字 身份证 地址
我写了一个模糊查询   武汉   则2-3秒 查询出1000条记录(使用top 1000,否则死掉。不解释0.0!)但是我写三个字以上 则死了  
也就是说  它匹配字段越多  就越慢。 难道需要做个选项选择哪个字段模糊查询么。2.随机查询1000
目前用的newid()   用的 Id between x and y   在范围内随机找topN 条
求大神优化数据库与客户端为局域网sql server优化

解决方案 »

  1.   

    like 就算是top100,也是要进行表扫描的,如果很不幸,这100纪录都在靠后的位置,一样死掉,这是和实际纪录的命中率有关系的用全文索引,别说千万级,亿级都可以
    别那么歧视MS的东西
      

  2.   

    sp_help 此表名
    看看有没有建立索引,没有的话根据实际情况合理地建立索引了(程序里面经常按哪些字段查询的,建议建立索引)
      

  3.   


    如果between 一段里面的话  就会好。这个。有什么办法达到  秒级么分表或者什么的  都可以
      

  4.   


    如果between 一段里面的话  就会好。这个。有什么办法达到  秒级么分表或者什么的  都可以加索引嘛。网上下的2000w的数据?我这边加了索引速度还算满不错的。
      

  5.   


    如果between 一段里面的话  就会好。这个。有什么办法达到  秒级么分表或者什么的  都可以加索引嘛。网上下的2000w的数据?我这边加了索引速度还算满不错的。
    嗯  网上下的。 - -7G多。
      

  6.   

    全文索引一个方法要查询的字段加索引也是一个办法 
    like本来就是比较费资源的!!
      

  7.   


    如果between 一段里面的话  就会好。这个。有什么办法达到  秒级么分表或者什么的  都可以sql编译后,会自动优化的,如果有主键或者能明显缩小查询范围的,肯定会优先查询,就像你加的between条件一样,效率当然会大幅提升
      

  8.   


    如果between 一段里面的话  就会好。这个。有什么办法达到  秒级么分表或者什么的  都可以sql编译后,会自动优化的,如果有主键或者能明显缩小查询范围的,肯定会优先查询,就像你加的between条件一样,效率当然会大幅提升
    嗯。
    如果这2000W数据重新  构架。
    怎么样设计比较方便全文模糊查找
      

  9.   

    嗯。
    不知道我这个想法可否
    做成 wcf形式
    将表分割成十万级
    并发查询然后将结果处理后返回
      

  10.   

    建议让你公司买资料书,网上的资料不少,但都显得零散,实际使用才知道,还有全文索引的自动更新策略,可以使用更改跟踪,可以最大限度的保证数据与索引的同步
    http://msdn.microsoft.com/zh-cn/library/ms187025(v=sql.100).aspx