你好我的一个观点有问题。
我将此语句用作视图时间
where date=(select d from user_date_table)
这对结果很好,但性能非常慢。
当我执行以下操作时:
where date=to_date(
这速度要快得多,但这不会起作用,因为我必须给视图赋予这个值。
我还能做些什么吗?
现在我已经使用包含函数package_name.get_user_date的包来测试它,它给了我值。但这也很慢。
是否还有其他可能使此查询更快的内容?
谢谢!
答案 0 :(得分:0)
有两种方法可以尝试解决此问题。 user_date_table中是否有重复的日期?
如果没有,那么您可以在查询中加入此表,而不是将其放入where子句中。
如果是,则可以将视图中的查询更改为 选择 ... 来自你的表 存在的地方 ( 选择 * 来自user_date_table udt 其中udt.d = r.date )
另外,检查并查看user_date_table上的索引。也许在to_date(d)上有一个基于函数的索引,这就是为什么它的工作速度更快。