[英]SQL self-join optimization
我正在編寫一個查詢,該查詢需要一個大表(>一百萬行)的自聯接
我只對今天創建的行感興趣,可以使用包含紀元時間的recording_time列進行過濾。
但是,我不確定下面的查詢實際上是在進行聯接之前限制了表。
SELECT B.ani
FROM [app].[dbo].[recordings] B
INNER JOIN [app].[dbo].[recordings] A
ON B.callid = A.callid AND B.dnis = A.ani
where A.filename LIKE '%680627.wav'
AND B.recording_time > 1485340000
篩選今天創建的行並使用該新表進行聯接。
SELECT B.ani
FROM ( SELECT * FROM [app].[dbo].[recordings] where recording_time > 1485340000 ) B
INNER JOIN ( SELECT * FROM [app].[dbo].[recordings] where recording_time > 1485340000 ) A
ON B.callid = A.callid AND B.dnis = A.ani
where A.filename LIKE '%680627.wav'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.