关于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 此表名
看看有没有建立索引,没有的话根据实际情况合理地建立索引了(程序里面经常按哪些字段查询的,建议建立索引)
[解决办法]
like 就算是top100,也是要进行表扫描的,如果很不幸,这100纪录都在靠后的位置,一样死掉,这是和实际纪录的命中率有关系的
用全文索引,别说千万级,亿级都可以
别那么歧视MS的东西
如果between 一段里面的话 就会好。这个。有什么办法达到 秒级么
分表或者什么的 都可以