【发布时间】:2017-03-16 15:06:42
【问题描述】:
您好,我的某个观点有问题。
我用这个语句查看次数
where date=(select d from user_date_table)
这对结果很好,但性能很慢。
当我执行以下操作时:
where date=to_date(
这要快得多,但在这里不起作用,因为我必须给视图这个值。
还有什么我可以做的吗?
现在我已经用一个包测试了它,该包有一个函数 package_name.get_user_date,它给了我价值。但这也很慢。
还有什么其他的东西可以让这个查询更快吗?
谢谢!
【问题讨论】:
-
"这要快得多,但在这里不起作用,因为我必须给视图这个值。" ...我不明白,你在这里的意思..你做过解释您的查询计划?您可以将子选择转换为连接。
-
向我们展示完整的查询、涉及的表的定义以及两个查询的执行计划。 Formatted请发短信,no screen shots
-
user_date_table中的d列是否只有一个日期?难以置信。如果有多个日期,则查询将不起作用。因此,如果它确实有效,那么您并没有向我们展示您的真实查询。为什么不?无论如何:在子查询中,(select TO_DATE(d, '......') from ....where....)
标签: sql oracle performance