Quancs-93 2020-03-18 16:12 采纳率: 0%
浏览 481

oracle中执行存储过程比直接执行打印语句慢得多

因为调用的语句需要大量的条件,最初在写语句时,使用
WHERE (参数1 IS NULL OR T.条件1 = 参数1)
这种形式来写,但是条件一多的时候,发现大量的or会导致语句特别慢,后改用动态sql拼接条件,但是发现这种写法非常不稳定,经常会特别慢,有时候在sql后面拼接一个空格都会导致查询速度变化非常大。同样的语句,在存储过程里面执行,然后dbms打印出来之后再执行,速度差距在5倍以上,有没有大佬能告诉一下,这种情况要怎么优化,目前还没有找到什么办法。之前在拼接语句后面拼上" AND 1= 1 "后速度正常了两天,然后现在查询速度又变慢了,实在是没办法了

  • 写回答

1条回答

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题