mysql还是会使用索引? mysql或者条件可以使用索引来避免整表

 2024-01-16 04:02:38  阅读 0

在某些情况下,OR 条件可以避免全表扫描。

1.如果where语句中有or条件,表可以使用索引,但不能。

1) 表:

如果不是`a`则表(

`id` int(1) NOT NULL,

`uid` int(11) NOT NULL,

`aNum` char(20) NULL,

密钥(`id`),

关键`uid`(`uid`)

) = = =6;

mysql> * from a where id=1 or uid=2;

+----+-------------+------+----------------+-------- - ------+-------------+---------+------+------+---- - ----------------------------------+

| 编号 | | 表| 类型 | | 关键| | 参考| 行 | 额外 |

+----+-------------+------+----------------+-------- - ------+-------------+---------+------+------+---- - ----------------------------------+

| 1 | | 一个 | | ,uid | ,uid | 4,4 | 空 | 2 | 使用 union(,uid); 使用地点 |

+----+-------------+------+----------------+-------- - ------+-------------+---------+------+------+---- - ----------------------------------+

一组 1 行(0.00 秒)

2)表:

如果不是`a`则表(

`id` int(1) NOT NULL,

`uid` int(11) NOT NULL,

`aNum` char(20) NULL,

密钥(`id`),

关键`uid`(`uid`)

) = = =6;

mysql> * from a where id=1 or uid=2;

+----+-------------+------+------+---------------- +-- ----+---------+-----+------+-------------+

| 编号 | | 表| 类型 | | 关键| | 参考| 行 | 额外 |

+----+-------------+------+------+---------------- +-- ----+---------+-----+------+-------------+

| 1 | | 一个 | 全部 | ,uid | 空 | 空 | 空 | 5 | 使用地点 |

+----+-------------+------+------+---------------- +-- ----+---------+-----+------+-------------+

一组 1 行(0.00 秒)

2.所有或条件必须是独立索引:

+------+-------------------------------------------------------- -------------------------------------------------- --------------------------

| 表| 桌子

+------+-------------------------------------------------------- -------------------------------------------------- --------------------------

| 一个 | 表 `a` (

`id` int(1) NOT NULL,

`uid` int(11) NOT NULL,

`aNum` char(20) NULL,

密钥(`id`)

) = =6 = |

+------+---------------------------------------- -------------------------------------------------- --------------------------

一组 1 行(0.00 秒)

标签: 索引 语句 扫描

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码