我在 PHP/Mysql 中使用这样的语句:
DELETE FROM `site1` . `users` WHERE `email` IN ('eric@me.net', 'joe@aol.com', 'bill@me.com')
我可能一次有几百或几千个,这会是 MySql 处理的问题吗?用于“IN”函数的数组是否有限制?
谢谢
我在 PHP/Mysql 中使用这样的语句:
DELETE FROM `site1` . `users` WHERE `email` IN ('eric@me.net', 'joe@aol.com', 'bill@me.com')
我可能一次有几百或几千个,这会是 MySql 处理的问题吗?用于“IN”函数的数组是否有限制?
谢谢
根据文档,对以下参数的数量没有具体限制IN
:
“IN 列表中的值的数量仅受 max_allowed_packet 值的限制。”
最佳实践我会将其批处理不超过 100 个,如果必须立即删除它们,您可以将它们包装在事务中。
我会创建一个包含这些值的临时表,并从查询中引用它。