php - mysql where 子句使用 'IN"或多个 'OR'

标签 php mysql

假设查询多个条件,

select AA.*,BB.* from AA left join BB on AA.key=BB.key 
where AA.key='red' or AA.key='green' or AA.key='blue' or AA.key='pink'

比较

select AA.*,BB.* from AA left join BB on AA.key=BB.key 
where AA.key IN ['red','green',blue',pink']

在 MYSQL 中,上述 2 个选项中的任何一个比另一个更快吗? 我知道使用“IN”更漂亮,但是速度有不同吗? (表在“键”上有索引)

我看到了this帖子,但没有关于速度的引用。

最佳答案

RJS IN 子句比 SQL 中的多个 OR 语句更快。

例如,如果您有 3 到 5000 条记录,那么 IN 查询将比多个 OR 语句快 5(大约)时间。

关于php - mysql where 子句使用 'IN"或多个 'OR',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27442716/

相关文章:

javascript - JS 字符串解析像 jQuery 一样添加和删除值

php - Spl、ArrayObject、ArrayObject::STD_PROP_LIST

PHP,交替周逻辑

Debian 上的 MYSQL : what's the real host name?

mysql - MySQL 表过度索引。我该如何补救?

php - 在 PHP 中动态检查来自 MySQL 的动态复选框

php - JSON 保存在数据库中并使用 JQuery 加载

php - 你用 Phing 吗?

mysql - 在 AngularJS 中显示 SQL 错误消息

mysql - 我想动态创建存储过程以逗号分隔的列和值