【发布时间】:2017-12-06 16:48:38
【问题描述】:
例如: 我有 4 列(A、B、C、D)。
我认为我应该在两个投影(CA_CONCAT-> A+B+C+D)中创建一个连接列,而不是连接每一列,并在此进行连接,只是为了检查哪种方法的性能更好。
它在早期工作得更快,但在少数 CV 中,这种方法有时速度较慢,尤其是在过滤时!
任何人都可以建议哪种方法有效吗?
【问题讨论】:
-
我不明白你的情况。请包含一些代码或屏幕截图以使其更清晰。 “连接每一列”是什么意思?连接是两个表之间的操作,连接条件来自这两个表之间的关系和您的查询。
-
这个不清楚。 “对此进行加入”到底是什么意思?请使用足够多的单词、句子和对部分示例的引用来清楚。请给minimal reproducible example。一般来说,如果你告诉它你的数据结构,DBMS 可以优化。例如对于排序索引,对于
f(t.x,t.y)=f(u.x,u.y),DBMS 必须访问两个表的每一行,但对于t.x=u.x and t.y=u.y,它可以跳过大多数t.x=u.x测试,而当t.x<>u.x可以跳过所有t.y=u.y测试。首先了解 DBMS 的实现/优化。无知的猜测是尖刻的。
标签: sql join calculated-columns hana