iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL is null 走不走索引?
  • 689
分享到

MySQL is null 走不走索引?

mysql数据库java索引失效索引 2023-09-13 16:09:27 689人浏览 八月长安
摘要

网上很多的说法,都是说不能走索引。但其实是错误的。 其实也是又可能走索引的。 比如,select * from table where a = xxx or a is null;

网上很多的说法,都是说不能走索引。但其实是错误的。
其实也是又可能走索引的。
比如,select * from table where a = xxx or a is null;
通过explain 看这条sql的执行计划,type = ref_or_null,这条sql语句会查询两次,第一次按照查询 a = xxx,第二次再单独查询 a is null
为了更好的利用索引,索引列字段要设置为 NOT NULL 约束。有两个原因:
● 第一原因:索引列存在 NULL 就会导致优化器在做索引选择的时候更加复杂,更加难以优化,因为可为 NULL 的列会使索引、索引统计和值比较都更复杂,比如进行索引统计时,count 会省略值为NULL 的行。
● 第二个原因:NULL 值是一个没意义的值,但是它会占用物理空间,所以会带来的存储空间的问题,因为 InnoDB 存储记录的时候,如果表中存在允许为 NULL 的字段,那么行格式(opens new window)中至少会用 1 字节空间存储 NULL 值列表,如下图的紫色部分:
在这里插入图片描述

来源地址:https://blog.csdn.net/Sherlook_Holmes/article/details/130778635

您可能感兴趣的文档:

--结束END--

本文标题: MySQL is null 走不走索引?

本文链接: https://www.lsjlt.com/news/406131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL is null 走不走索引?
    网上很多的说法,都是说不能走索引。但其实是错误的。 其实也是又可能走索引的。 比如,select * from table where a = xxx or a is null; ...
    99+
    2023-09-13
    mysql 数据库 java 索引失效 索引
  • MySQL中使用IN()查询到底走不走索引?
    MySQL中使用IN()查询到底走不走索引? 看数据量 EXPLAINSELECT * from users WHERE is_doctor in (0,1); 很明显没走索...
    99+
    2023-10-27
    原型模式 java spring 开发语言 后端
  • Oracle like、不等于、隐式转换走索引与不走索引情况
    1. 概述 # like (1)当使用like查询时,后模糊匹配,则走索引,如like 'test%' (2)当使用like查询时,前模糊匹配,则不走索引,如like&...
    99+
    2024-04-02
  • mysql哪些查询情况不走索引
    这篇文章主要介绍“mysql哪些查询情况不走索引”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql哪些查询情况不走索引”文章能帮助大家解决问题。mysql哪些查询情况不走索引索引列参与计算,不...
    99+
    2023-06-30
  • mysql的in会走索引么
    是的,MySQL的IN运算符可以使用索引。 例如,如果你有一个表,其中有一个名为id的索引列,你可以使用以下查询来使用索引: SELECT * FROM mytable WHERE id IN (1, 2, 3); ...
    99+
    2023-09-01
    mysql 数据库 sql mybatis
  • mysql不走索引的情况有哪些
    以下是一些可能导致MySQL不走索引的情况:1. 数据量太小:当数据量太小时,MySQL可能会选择全表扫描而不是使用索引。这是因为索...
    99+
    2023-09-20
    mysql
  • mysql中or会走索引吗
    在 mysql 中,or 查询是否使用索引取决于以下因素:索引覆盖范围、索引选择的顺序和索引类型。要优化 or 查询,可以采取以下步骤:1. 使用覆盖索引;2. 优化索引选择性;3. 使...
    99+
    2024-05-01
    mysql
  • 什么是走索引?
    索引是一种利用某种规则的数据结构与实际数据的关系加快数据查找的功能。我们的数据库中存储有大量的内容,而索引能够通过数据节点,根据特定的规则和算法快速查找到节点对应的实际文件的位置。简单来说索引就像书的目录,能够帮助我们准确定位到书籍具体的内...
    99+
    2024-04-02
  • mysql or走索引加索引及慢查询的作用
    目录 前言一 概述二 实验表结构声明三 Mysql不走索引归类以及详细解析1. 查询条件在索引列上使用函数操作,或者运算的情况2. 查询条件字符串和数字之间的隐式转换3. ...
    99+
    2024-04-02
  • mysql如何关联更新删除不走索引优化
    这篇文章给大家分享的是有关mysql如何关联更新删除不走索引优化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。关于update in不走索引的:首先select子查询形...
    99+
    2024-04-02
  • 你知道mysql哪些查询情况不走索引吗
    目录前言mysql哪些查询情况不走索引不走索引的情况:总结前言 在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能...
    99+
    2024-04-02
  • delete in子查询不走索引问题分析
    目录引言问题复现原因分析优化方案为什么加个别名就可以走索引了呢?总结引言 文章开篇前,先问大家一个问题:delete in子查询,是否会走索引呢?很多伙伴第一感觉就是:会走...
    99+
    2024-04-02
  • 记一次Mysql不走日期字段索引的原因小结
    目录背景探索总结背景 在一个表中,dataTime字段设置是varchar类型,存入的数据是日期格式的数据,并且为该字段设置了索引。但是在日志记录中,有一条关于该表的慢查询。查询语句...
    99+
    2024-04-02
  • MySQL 强制走索引命令 force index 优缺点
    优点:                 在MySQL中,当执行查询时,MySQL会尝试选择最佳的索引来优化查询性能。但是,有时最佳索引并不是显然的,或者可能由于某些原因(如查询中有JOIN,或者表的索引统计信息不正确等)MySQL不能正确选...
    99+
    2023-09-29
    mysql 数据库 sql
  • MySQL索引失效原因及SQL查询语句不走索引原因是什么
    这篇“MySQL索引失效原因及SQL查询语句不走索引原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我...
    99+
    2023-03-07
    mysql sql
  • mysql中delete in子查询不走索引问题怎么解决
    本文小编为大家详细介绍“mysql中delete in子查询不走索引问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql中delete in子查询不走索引问题...
    99+
    2024-04-02
  • MySQL索引失效原因以及SQL查询语句不走索引原因详解
    目录前言1. 隐式的类型转换,索引失效2. 查询条件包含 or,可能导致索引失效3. like 通配符可能导致索引失效4. 查询条件不满足联合索引的最左匹配原则5. 在索引列login_time上使用 mysql 的内置...
    99+
    2023-03-06
    mysql索引在什么时候失效 mysql 索引失效 mysql索引失效怎么办
  • mysql如何让左模糊查询也能走索引
    目录让左模糊查询也能走索引测试表USER_INFO表数据以及结构如下有一个USER_NAME字段的索引模糊查询(like、instr)1. like2. instr3. A>=’’ and ...
    99+
    2022-11-21
    mysql模糊查询 左模糊查询 mysql索引
  • delete in子查询不走索引问题怎么解决
    本文小编为大家详细介绍“delete in子查询不走索引问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“delete in子查询不走索引问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
    99+
    2023-07-02
  • mysql中nvl函数走索性吗
    否,mysql 中的 nvl 函数不走索性,原因在于它是非确定性函数,mysql无法使用索引优化查询。替代方案是使用确定性函数 ifnull 或 coalesce,它们允许 mysql ...
    99+
    2024-05-02
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作