我使用了下面线程中的解决方案(由 AdaTheDev 提供),因为它涉及同一问题:如何在sql select中排除具有特定值的记录 https://stackoverflow.com/questions/15389091/how-to-exclude-records-with-certain-values-in-sql-select
但是,当对超过 40,000 条记录应用相同的查询时,查询处理时间太长(>30 分钟)。是否有另一种方法可以有效地查询具有特定值的某些记录(与上述 stackoverflow 线程中的问题相同)。我尝试在下面使用它,但仍然没有成功:
SELECT StoreId
FROM sc
WHERE StoreId NOT IN (
SELECT StoreId
FROM StoreClients
Where ClientId=5
);
谢谢 -
你可以使用EXISTS
:
SELECT StoreId
FROM sc
WHERE NOT EXISTS (
SELECT 1
FROM StoreClients cl
WHERE sc.StoreId = cl.StoreId
AND cl.ClientId = 5
)
确保创建索引StoreId
柱子。您的查询还可以受益于索引ClientId
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)