我试图根据他们的代码和部门搜索员工.
我使用IN运算符触发了一个查询,其中包含1200个员工代码.当我执行查询时,我得到一个例外("IN中允许的最多1000条记录").
任何人都可以帮我解决这个问题.
将这些记录上传到临时表并使用连接几乎肯定会更快.实际上,解析器必须为IN构建一个巨大的条件树.
注意:我不知道MYSQL是否支持Oracle或SQLServer的事务级临时表,但即使是"真正的"表也应该更快,特别是如果创建一次并重用.当然,有许多变量,例如批量插入到该表的能力,写入事务日志的成本,等等.
重读您的问题:您从哪里获得这些员工代码?你能从桌子或加入他们吗?