我正在寻找从4个表中获取唯一记录集的最快方法。它们通过使用索引的性能连接连接在一起。从连接中选择后,结果中也有重复项。使用连接将记录拉入CTE(公用表表达式/ WITH语句)然后从具有分组的CTE中选择或者在原始数据拉动中使用组更快是否会更快?
即
SELECT
account
,customer
,class
,CURRENT DATE
,contract_date
FROM ACCOUNT acct
INNER JOIN measure msr
ON acct.CUST_ID = msr.CUST_ID
INNER JOIN products prod
ON msr.PROD_ID = prod.PROD_ID
INNER JOIN customer x
ON acct.CUST_ID = x.CUST_ID
WITH UR
这里有一堆重复,所以只需按选择中的5列分组或添加一个不同的或者将其放入CTE / WITH语句然后从CTE中选择组?
答案 0 :(得分:1)
这取决于您的数据模式和数据大小。没有拇指规则。我会说尝试所有可能的选项并检查执行计划,应该给你最好的选择。
~Santosh