日期:2014-05-17  浏览次数:20958 次

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

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


------解决方案--------------------
楼主搞反了吧,在 where 后的条件中,要把能够筛选掉最多数据的放在最后边
也就是 SQL 对 where 后的条件是自右向左进行优化的
------解决方案--------------------
事件查看器里面跟踪一下,或是去sql版问问,哪边牛人多:)
------解决方案--------------------
建议你使用SQL Server的全文检索功能,contain关键字就能查询全string类型的字段。速度还可以。
------解决方案--------------------
问题不大,数据库系统在解释你的语句的时候会自动做一些优化的