mysql - 使用 IN 时订购

标签 mysql

我只是想知道 IN 在 My SQL 查询中如何工作?

假设我的代码为

select * from myTable WHERE id IN (5,9,2,4,6,3);

这相当于

select * from myTable WHERE id = 5;
select * from myTable WHERE id = 9;
select * from myTable WHERE id = 2;
select * from myTable WHERE id = 4;
select * from myTable WHERE id = 6;
select * from myTable WHERE id = 3;

顺序是随机的吗?


编辑 1

这里的 ORDER 并不意味着 ORDER BY。我的意思是先 5,然后 9,然后 2,依此类推

随机顺序意味着先 4,然后 3,然后 2,依此类推......

请告诉我。

最佳答案

没有

在 MySQL 中,IN 子句是使用二分搜索执行的。 Reference

这意味着搜索已针对性能进行了优化,并且不会按顺序逐步浏览列表。

关于mysql - 使用 IN 时订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13458808/

相关文章:

c# - 同时插入2个表c#

mysql - 在 PhpMyadmin Count rows issue with mysql

php - MYSQL RAND() 不会生成正确的列表

mysql - COUNT(*) 和有

python - 如何在 django 中的数据库 Mysql 中添加模型而不出现问题并使用 utf-8 编码?

php - 来自 ajax 请求的随机 500 内部服务器错误

mysql - NATURAL JOIN 与 WHERE IN 子句

php - 简单的 PDO 写入不起作用

php - 如何使用 PHP 将未回答的单选按钮问题作为 NULL 值发布到 MySQL 数据库中?

python - 从 Python 3.4 中的字符串中删除非 utf-8 字符