MySQL版本 5.7.13、SELECT语句IN与OR的效率比较,以下是数据查询量,表总数据量10万条。100条数据
字段为主键的情况
in:0.04 sec
or:0.06 sec
添加索引的情况
in:0.00 sec
or:0.01 sec
无索引的情况
in:0.04 sec
or:0.06 sec
1万条数据
字段为主键的情况
in:0.06 sec
or:2 min 37.90 sec
添加索引的情况
in:0.08 sec
or:2 min 39.22 sec
无索引的情况
in:0.07 sec
or:2 min 39.73 sec
10万条数据
字段为主键的情况
in:2.74 sec
or:13 min 46.52 sec
添加索引的情况
in:2.94 sec
or:14 min 13.72 sec
无索引的情况
in:4.35 sec
or:15 min 19.39 sec
查询数据小的时候并无多大差异,随着查询数据量增大OR就显的越来越慢。
创建表CREATE TABLE `test_in_or` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREM