php - 使用 IN 子句与多个 SELECT

标签 php mysql

我想知道其中哪一个会更快(性能方面)查询(如果这很重要,在 MySQL 5.x CentOS 5.x 上):

SELECT * FROM table_name WHERE id=1;
SELECT * FROM table_name WHERE id=2;
.
.
.
SELECT * FROM table_name WHERE id=50;

或者...

SELECT * FROM table_name WHERE id IN (1,2,...,50);

我有大约 50 个 id 要查询。我知道数据库连接通常很昂贵,但我发现 IN 子句 [有时] 也不是那么快。

最佳答案

我很确定第二个选项会给你最好的性能;一个查询,一个结果。在它可能成为问题之前,您必须开始寻找 > 100 个项目。

另请参阅此处接受的答案:MySQL "IN" operator performance on (large?) number of values

关于php - 使用 IN 子句与多个 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10572007/

相关文章:

javascript - Ajax Jquery 调用提交不起作用

php - 不解析 PHP JSON

mysql - 从 F 表按日期搜索的最新金额从另外两个表插入 R 表,并使用表 S mysql 中的其他数据

mysql - 将多个sql查询连接成一行

MySQL 1050 表不存在,但 MySQL 认为它存在

php - 正则表达式 Cookie 获取 PHPSESSID 值

php - 删除文件然后目录

PHP:带引号的评论回复系统。如何向子(回复)消息显示父(引用)消息

mysql - 如何按照我的意愿将文本文件最好地上传到数据库中? (在C中)

php - 如何从php代码中获取Mysql执行消息发送器?