社区
MS-SQL Server
帖子详情
请教一下CHARINDEX 的性能问题???
Lostinet
2007-08-23 07:43:19
同样的查询,
用LIKE,和用CHARINDEX,
生成的查询计划完全不同.
为什么会这样??
...全文
451
17
打赏
收藏
请教一下CHARINDEX 的性能问题???
同样的查询, 用LIKE,和用CHARINDEX, 生成的查询计划完全不同. 为什么会这样??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wujinjian2008n
2009-09-17
打赏
举报
回复
我测试过 100w 条数据,性能都差不多,都很低
zhengzeng
2009-09-17
打赏
举报
回复
下载一个工具 LECCO SQL Expert,就可以解决你的问题。
mugua604
2009-09-17
打赏
举报
回复
考虑使用like,没办法使用like的时候才使用charindex
guguda2008
2009-09-17
打赏
举报
回复
讨论过也测试过,LIKE可能用到索引,CHARINDEX除了在聚集索引上都用不到索引
yang0000meng
2009-09-17
打赏
举报
回复
期待系统讲解,wearelearn.net。
这里有一篇
charindex代替like并非"更快更全面"
http://blog.csdn.net/jinjazz/archive/2009/09/14/4551008.aspx
sp4
2007-08-24
打赏
举报
回复
如上面说,有些情况下是like明显是要快于charindex的。
而就like '%adsl%' 和 charindex('adsl',field )>0这个没有区别的,没有快慢之分
iamltd
2007-08-23
打赏
举报
回复
charindex用不到索引
like在左匹配的时候可以使用索引
所以,like在部分情况下比charindex效率高,其他时候效率一样的
Limpire
2007-08-23
打赏
举报
回复
学习了,确实相差无几,我测试10W数据,charindex()快几十毫秒。
simonhehe
2007-08-23
打赏
举报
回复
楼上的只是说到了like用法的一部分
simonhehe
2007-08-23
打赏
举报
回复
http://blog.csdn.net/simonhehe/archive/2007/08/23/1756581.aspx
有一段是讲charindex和like的比较,可以看一下
Limpire
2007-08-23
打赏
举报
回复
select * from tb where field like 'asd%' --这个可以用field字段的索引,
select * from tb where charindex('asd',field )>0 --这个好像不能用索引。
个人感觉,请高手指正,呵呵。
---------------
又经仔细观察查询计划,都用不到索引,都要扫描整个表:Table Scan
Lostinet
2007-08-23
打赏
举报
回复
我也认为charindex要快.
不过查询分析器告诉我like更快.
所以才不明白,上来问问高手.
Limpire
2007-08-23
打赏
举报
回复
个人测试,charindex 要快上那么一点点。
dobear_0922
2007-08-23
打赏
举报
回复
select * from tb where field like 'asd%' --这个可以用field字段的索引,
select * from tb where charindex('asd',field )>0 --这个好像不能用索引。
个人感觉,请高手指正,呵呵。
Limpire
2007-08-23
打赏
举报
回复
charindex不支持通配符。
对于长字串,如果大概能判断子串的位置,指定搜索位置,应该回快点——纯粹个人见解。
dobear_0922
2007-08-23
打赏
举报
回复
个人感觉效率应该差不多,都是串匹配的问题
47522341
2007-08-23
打赏
举报
回复
是有可能不同;而不是完全不同。
asp.net知识库
DataTable.Select方法的
性能
问题
.NET 2.0里使用强类型数据创建多层应用 ADO.NET实用经验无保留曝光 有了System.Data.IDataReader,一切皆成数据 理解DataSet的数据缓存机制 存储过程 可按任意字段排序的分页存储过程...
精华贴子整理之SQL
性能
优化3
3、扩大服务器的内存 4、增加服务器CPU个数 5、对于大的数据库不要设置数据库自动增长,它会降低服务器的
性能
6、在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的...
关于sql08 中文乱码
问题
我直接编辑内容,输入中文,刷新后中文成了乱码,
请教
各位怎么解决,谢谢 当操作系统对中文字体支持不全面时,var
char
会出现乱码。 Knuth有句名言:“过早优化是万恶之源”(有兴趣可参看《Unix编程...
sql
问题
问题
: 系统存储过程分为四类: 目录过程、扩展过程、复制过程和系统过程,但阐述很不清晰。请问北大青鸟APTECH的老师,该概念来自何处? 答复: 正像我们在教材中描述的那样把系统存储过程主要分为四类,但实际上...
走进非洲,发现全错了-关于sqlserver2000下全球化网站生僻语种sql查询的解决方案...
虽然本
问题
已有变通的解决方案,但还想求教高高手,不知在给定前提下是否还有更完美的方案。 2002年从C++转投.net阵营至今一直玩的得心应手,虽然用oracle居多(因为是正版的^_^),但从来没觉得sqlserver 2K有...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章