我有这样的代码:
Search(for 'this' using 'a','b','c','d')
if result is not found
search(for 'this' using null,'b','c','d')
if result is not found
...
if result is not found
search(for 'this' using null,null,null,null)
...
return
它是递归调用自身但参数较少的存储过程。函数内部是一个基于参数生成的动态查询(一些参数涉及加入另一个表,一些只是 where 子句中的附加条件)
有人告诉我,这会浪费性能,因为它需要一次又一次地重新搜索整个表。
我有这样的想法,如果我们先搜索所有内容,然后从该结果开始过滤它。可能会更好。
我可以做些什么来改进代码?有没有办法通过普通查询获得相同的结果?