MySQL中,IS NULL和IS NOT NULL不会走索引?错!

最近写了一系列关于MySQL索引相关的中走索文章,帮大家系统全面地把索引这块的引错知识丰富串联起来,需要回顾或学习这方面的中走索知识的朋友可以看看前面的文章。

今天这篇文章给大家分析和示例一下,引错MySQL中,IT技术网中走索当查询条件为IS NULL或 IS NOT NULL时,引错哪些情况会走索引,中走索哪些情况下又不会走索引。引错最终结论可能与大家的中走索直觉有所不同。

MySQL中,IS NULL和IS NOT NULL不会走索引?错!

下面我们直接通过具体的引错实例来看看当查询条件为IS NULL或 IS NOT NULL时,索引的中走索使用情况。高防服务器

实例一:少量数据,引错使用索引

这里采用的中走索MySQL数据库版本为8.0.18,后续实例均采用此版本。引错

创建一个test表,中走索创建语句如下:

CREATE TABLEtest ( idINT PRIMARY KEY, col1 INT, col2 INT, INDEX idx_col1 (col1) ); -- 添加两条数据 insertintotestvalues(1,null,1); insertintotestvalues(2,null,2);

其中在col1列上创建了索引。

实例演示

此时,我们来看IS NULL和 IS NOT NULL是否走索引。服务器租用

mysql> explain SELECT * FROMtestWHERE col1 ISNULL \G

IT科技
上一篇:磁盘重新分区教程(以简单步骤了解如何重新分区您的磁盘)
下一篇:简单快捷的双系统一键安装教程(轻松享受双系统的便利,一键安装教你如何做到)