很有可能在于输入参数的选择性上面
假设对Name字段做了索引
where Name like 'ABC%' 和 where Name like '%ABC' 在语句中使用是完全不一样的,'ABC%'可以利用索引,存储过程编译的时候可能吧它编译成 '%ABC' 这样, 具体还是贴语句吧。
假设对Name字段做了索引
where Name like 'ABC%' 和 where Name like '%ABC' 在语句中使用是完全不一样的,'ABC%'可以利用索引,存储过程编译的时候可能吧它编译成 '%ABC' 这样, 具体还是贴语句吧。
那么就会很慢SQL 语句执行是每次都生成一个新的执行计划的
创建存储过程时 用 create proc p_name 变量 with recompile
每次执行存储过程都生成一个新的执行计划