相关疑难解决方法(0)

为什么IN条件比sql中的"="慢?

检查问题此SELECT查询需要180秒才能完成(检查问题本身的注释).
IN只能与一个值进行比较,但时差仍然很大.
为什么会那样?

mysql sql comparison performance

28
推荐指数
1
解决办法
5808
查看次数

使用IN子句与多个SELECT

我想知道哪些更快(性能方面)查询(在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;
Run Code Online (Sandbox Code Playgroud)

要么...

SELECT * FROM table_name WHERE id IN (1,2,...,50);
Run Code Online (Sandbox Code Playgroud)

我有大约50 id秒来查询.我知道通常数据库连接很昂贵,但我已经看到这个IN条款不是那么快[有时].

php mysql

6
推荐指数
1
解决办法
2489
查看次数

MySQL:为什么IN子句中的第5个ID会大大改变查询计划?

鉴于以下两个问题:

查询#1

SELECT log.id
FROM log
WHERE user_id IN
      (188858, 188886, 189854, 203623, 204072)
      and type in (14, 15, 17)
ORDER BY log.id DESC
LIMIT 25 OFFSET 0;
Run Code Online (Sandbox Code Playgroud)

查询#2 - 4个ID而不是5

SELECT log.id
FROM log
WHERE user_id IN
      (188858, 188886, 189854, 203623)
      and type in (14, 15, 17)
ORDER BY log.id DESC
LIMIT 25 OFFSET 0;
Run Code Online (Sandbox Code Playgroud)

解释计划

-- Query #1
1   SIMPLE  log range   idx_user_id_and_log_id  idx_user_id_and_log_id  4       41280   Using index condition; Using where; Using filesort
-- Query #2
1   SIMPLE …
Run Code Online (Sandbox Code Playgroud)

mysql sql indexing query-performance

5
推荐指数
1
解决办法
139
查看次数

标签 统计

mysql ×3

sql ×2

comparison ×1

indexing ×1

performance ×1

php ×1

query-performance ×1