如题
解决方案 »
- webBrowser脚本错误问题
- DropDownList选择后,GridView不显示数据
- C#2005连接数据库出错:"conn.ServerVersion"引发的“System.InvalidOperationException”类型的异常
- datatable可以加入combo吗?
- 各位大虾,能提供个C#视频教程下载的地址吗?
- 后台服务用Thread.Sleep还是Timer?
- 网站打开服务器上共享文件夹
- visual studio 2012 代码约定
- 一个小问题~~~ C #中怎么样对串口进行处理?就象以前vb中的 MSCOM 控件?
- 请教函数返回值为泛型接口的问题。
- 急 !!!!!!winform窗体打开后在执行一个指定事件
- 异常:No error message available, result code: E_FAIL(0x80004005).
个人认为是=比较快
如果那个字段有索引的话可能会按照index来查询
而like的话就要一个个的去匹配
相对就慢了
like 只有在不确定的时候再用 like '% %'
搜索的方式不同,=的效率好的多
是不是索引对like语句只有左匹配才有效啊?谢谢!
1. contains使用sql server内建查询引擎,效率远高于like. sql server 2005更为每一个数据库实例(instance)单独建立独享本文索引引擎。
2. contains支持全字段搜索如 contains(YourTable.*, '"123*"');
3. contains结合参数支持查找任意时态的单词如good, better, best, 只需注明查good.
....
....所以,性能功能上,contains模糊查询是正道。
如果是like '1233%' 那么就具备了走索引的前提。使用= 可以直接对字段设置索引就可以了。
如果硬要比的话,个人感觉=快
小量 like 和= 相差不多。
如海量的数据就有区别,like会检索全表的 所以肯定慢
理由是都可以使用索引,而且匹配记录也差不多是连续的一小段,like稍慢,差别在于用like可能要比较更多的记录,返回的数据也可能要多一些.但是对于实际应用来说LIKE也要灵活一些.like'%xx' 和 LIKE '_XX' 的速度就慢很多了,因为索引完全用不上,而且全表扫描是免不了的.类似的应用可以考虑把字段拆分,这样就可以用=了.个人见解~~~