我有一个选择查询,如下所示:
从abc中选择*,其中id为IN($ list);
变量$ list的长度问题,它可能有4000-5000个字符的长度,因此实际执行的查询的长度增加而且变得非常慢。
是否有方法将$ list的值存储在文件中并要求mysql从该文件中读取它,类似于LOAD DATA INFILE'file_name'以插入表
答案 0 :(得分:4)
是的,你可以(TM)!
CREATE TEMPORARY TABLE temp (id ... PRIMARY KEY)
和LOAD DATA INFILE ...
创建并填充包含值列表的临时表SELECT abc.id FROM abc INNER JOIN temp ON abc.id=temp.id
我有强烈的印象,如果您使用相同的值列表很多次,这只会作为胜利结果。