关于sql server 万万级 的模糊查询

关于sql server 千万级 的模糊查询不要问我千万级了干嘛还用 sql server奇葩年年有你们懂的。我也不解释了。

关于sql server 千万级 的模糊查询
关于sql server 万万级 的模糊查询
不要问我千万级了  干嘛还用 sql server
奇葩年年有  你们懂的。我也不解释了。


1.模糊查询
多字段模糊
比如like
表中有名字 身份证 地址
我写了一个模糊查询   武汉   则2-3秒 查询出1000条记录(使用top 1000,否则死掉。不解释0.0!)

但是我写三个字以上 则死了  
也就是说  它匹配字段越多  就越慢。 难道需要做个选项选择哪个字段模糊查询么。

2.随机查询1000
目前用的newid()   用的 Id between x and y   在范围内随机找topN 条


求大神优化

数据库与客户端为局域网 sql?server 优化
[解决办法]
sp_help 此表名
看看有没有建立索引,没有的话根据实际情况合理地建立索引了(程序里面经常按哪些字段查询的,建议建立索引)
[解决办法]

引用:
Quote: 引用:

like 就算是top100,也是要进行表扫描的,如果很不幸,这100纪录都在靠后的位置,一样死掉,这是和实际纪录的命中率有关系的

用全文索引,别说千万级,亿级都可以
别那么歧视MS的东西


如果between 一段里面的话  就会好。这个。有什么办法达到  秒级么

分表或者什么的  都可以


加索引嘛。网上下的2000w的数据?我这边加了索引速度还算满不错的。
[解决办法]
全文索引一个方法

要查询的字段加索引也是一个办法 


like本来就是比较费资源的!!
[解决办法]
引用:
Quote: 引用:

like 就算是top100,也是要进行表扫描的,如果很不幸,这100纪录都在靠后的位置,一样死掉,这是和实际纪录的命中率有关系的

用全文索引,别说千万级,亿级都可以
别那么歧视MS的东西


如果between 一段里面的话  就会好。这个。有什么办法达到  秒级么

分表或者什么的  都可以


sql编译后,会自动优化的,如果有主键或者能明显缩小查询范围的,肯定会优先查询,就像你加的between条件一样,效率当然会大幅提升