首页 > 解决方案 > 使用“in”子句加速 SQL 查询

问题描述

我已经运行以下查询 5 分钟,然后在我输入此查询时超时。

  1. 为什么它会超时,当我在 5 分钟之前运行大量查询时?错误消息是“从服务器接收结果时发生传输级错误。(提供者:TCP 提供者,错误:0 - 信号量超时期限已过。)”

  2. 我可以加快速度吗?子查询中有大约 25,000 条记录(“in (...)”部分)。

我的代码:

SELECT
    COUNT(*) 
FROM
    myTable 
WHERE
    AccountID NOT IN (SELECT
                          RIGHT('000000000' + CAST(Col1 AS VARCHAR(9)), 9) 
                      FROM
                          #A) -- Returns records in myTable that no longer exist

标签: sql-server

解决方案


推荐阅读