34,590
社区成员
发帖
与我相关
我的任务
分享
--1. 保证所有的连接字段都有索引, 如果本身就是主键的不用管,不是的自己加上, 类似:
CREATE INDEX ix_tbFile_DMID ON tbFile(DMID)
CREATE INDEX ix_tbuser_yonghuKey ON tbuser(yonghuKey)
--2. 加过滤索引和排序索引, 因为不知道 DNianDu 在哪个表, 所以用 xxx 代替,你自己改过来
CREATE INDEX ix_xxx_DNianDu ON xxx( DNianDu )
--3. 稍改一下 sql
SELECT dbo.tbFile.DNianDu,
dbo.tbFile_ZX.DFileNum,
dbo.tbuser.yonghuKey
FROM dbo.tbFile_ZX
INNER JOIN dbo.tbFile
ON dbo.tbFile_ZX.DMID = dbo.tbFile.DMID
INNER JOIN dbo.tbuser
ON dbo.tbFile.yonghuKey = dbo.tbuser.yonghuKey
WHERE ShenHeKey>''
AND DPrint = 0
ORDER BY
DNianDu
SELECT
dbo.tbFile.DNianDu,
dbo.tbFile_ZX.DFileNum,
dbo.tbuser.yonghuKey
INTO
#temp
FROM
dbo.tbFile_ZX
INNER JOIN
dbo.tbFile
ON dbo.tbFile_ZX.DMID = dbo.tbFile.DMID
INNER JOIN
dbo.tbuser
ON dbo.tbFile.yonghuKey = dbo.tbuser.yonghuKey
WHERE
LEN(ShenHeKey) > 0
AND DPrint = 0;
SELECT * FROM #temp ORDER BY DNianDu
DROP TABLE #temp