SQL表达式中非常大的IN子句

问题描述 投票:-1回答:2

假设我有一个具有一百万条记录的产品表(是的,我有一百万种产品!]。>>

此产品表具有参考字符串字段。

某些人希望导出除某些产品以外的所有产品的csv文件。

我们知道要排除的产品参考。它们存储在一个csv文件中。

这是我建立的查询:

SELECT ... FROM products WHERE reference NOT IN ('ref1','ref2','.....')

一切都正常,排除少于100个引用。

如果要排除的引用超过10000个,该怎么办? sql查询很大。

我已经尝试使用mysql,postgre和sql server。这是同样的问题。

谢谢

假设我有一个具有100万个记录的产品表(是的,我有100万个产品!)。该产品表具有参考字符串字段。某些人希望导出所有产品的csv文件...

sql sqlperformance
2个回答
1
投票

reference作为主键将CSV文件加载到表中。


0
投票

如果您可以对表格进行更改;您可以添加一个附加列作为排除(位字段),并在需要排除且不保持为0时更新为1。无需维护CSV文件,而是将排除数据存储在表中并在运行查询之前更新主表。

© www.soinside.com 2019 - 2024. All rights reserved.