日期:2014-05-18  浏览次数:20467 次

多字段搜索问题
数据库中有很多字段
搜索时主要是文本及数字的

nSex=1   and   sName   like   '%小明% '   ...还有更多条件
现在的问题是
把所有的=字段放在后面   (精确查询),like   的放前面(   模糊搜索)
不知道会不会快点
也就是like还会不会全表扫描,还是只对前面的字段限制中扫描
如果是全表扫描,应该怎么优化?

------解决方案--------------------
记得是
统配符放到前面会引起全表扫描,
比如:sName like '%小明 '

放到后面会优化.
比如:sName like '小明% '

因此,这样不能优化
sName like '%小明% '

多过滤条件通常通过建立合适的索引可以得到很好的优化
------解决方案--------------------
like和表扫描有關系嗎?
------解决方案--------------------
是条件,前后就没关系塞,增加速度方法是建立索引