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

字符串比较非常慢怎么办
和很多公司一样,我们自己有一套库,一些合作的同类企业也有
和他们合作的时候,一些地方的名字不同
但是很相近
需要字符串来匹配
但是现在运行的时候特别慢,2.7秒一个
我改之前是很快的,稍微改了一点东西,而且也不是那种很耗时间的步骤

select dbo.func(a.name,b.name)
from 
a join b
on func(a,b)>70
这样会不会它计算两遍?
是不是该用having?

------解决方案--------------------
自定义函数的效率本来就很差
------解决方案--------------------
自定义函数如果放在select子句中,那么每一行数据,都会调用一次你的函数。

还有,你把自定义函数写在on 后面,作为关联条件,会导致用不上索引,

如果数据量一大,性能会更差
------解决方案--------------------
到底有几个func,传的参数类型不同啊
------解决方案--------------------
把函数的实现用存储过程来替代试试
------解决方案--------------------
可以把函数贴出来看下。函数一般都会慢的。