SQL自连接优化
我正在编写一个查询,它需要一个大于一百万行的大型表的自联接 我只对今天创建的行感兴趣,我可以使用包含纪元时间的录制时间列进行过滤 但是,我不确定下面的查询是否在执行联接之前实际限制了表SQL自连接优化,sql,sql-server,Sql,Sql Server,我正在编写一个查询,它需要一个大于一百万行的大型表的自联接 我只对今天创建的行感兴趣,我可以使用包含纪元时间的录制时间列进行过滤 但是,我不确定下面的查询是否在执行联接之前实际限制了表 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 '%
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'
我不明白你的问题。你能解释一下你在问什么吗?当然,基本上我不想做满表的自联接。我知道我感兴趣的行是今天创建的。正在尝试最小化对数据库的影响。添加示例数据和预期结果