因为调用的语句需要大量的条件,最初在写语句时,使用
WHERE (参数1 IS NULL OR T.条件1 = 参数1)
这种形式来写,但是条件一多的时候,发现大量的or会导致语句特别慢,后改用动态sql拼接条件,但是发现这种写法非常不稳定,经常会特别慢,有时候在sql后面拼接一个空格都会导致查询速度变化非常大。同样的语句,在存储过程里面执行,然后dbms打印出来之后再执行,速度差距在5倍以上,有没有大佬能告诉一下,这种情况要怎么优化,目前还没有找到什么办法。之前在拼接语句后面拼上" AND 1= 1 "后速度正常了两天,然后现在查询速度又变慢了,实在是没办法了
oracle中执行存储过程比直接执行打印语句慢得多
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 overleaf中论文编辑,报错`pages' is a missing field, not a string, for entry 4
- ¥15 vhdl+MODELSIM
- ¥20 simulink中怎么使用solve函数?
- ¥30 dspbuilder中使用signalcompiler时报错Error during compilation: Fitter failed,求解决办法
- ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
- ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
- ¥15 知识蒸馏实战博客问题
- ¥15 用PLC设计纸袋糊底机送料系统
- ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
- ¥15 用C语言输入方程怎么