我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySql索引失效的示例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySql索引失效的示例分析

这篇文章主要介绍了MySql索引失效的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、使用MySql写sql语句时,经常性的写法是这样的:
  select * from t_cs_baseinfo a  where a.FEE_SUBSCRIB_FLAG is  null or trim(a.FEE_SUBSCRIB_FLAG) =''
  这里存在一个很大的问题,如果FEE_SUBSCRIB_FLAG 是索引列,由于索引列不存储null值,所以执行计划是不使用索引的,如下
  mysql> explain select * from t_cs_baseinfo a where a.FEE_SUBSCRIB_FLAG is null or trim(a.FEE_SUBSCRIB_FLAG) ='';
   +----+-------------+-------+------+---------------+------+---------+------+-------+-------------+
   | id | select_type | table | type | possible_keys | key  | key_len | ref  | rows  | Extra       |
   +----+-------------+-------+------+---------------+------+---------+------+-------+-------------+
   |  1 | SIMPLE      | a     | ALL  | NULL          | NULL | NULL    | NULL | 81945 | Using where |
   +----+-------------+-------+------+---------------+------+---------+------+-------+-------------+
   1 row in set
   
 为了充分利用索引,应将索引列设置为not null,这样既可以消除sql语句中的is null、is not null,合理利用索引提高检索速度,也可以消除Java端的空值判断,简化代码结构

2、Mysql引擎会根据索引优化器自主决定是否使用索引,如果索引优化器认为使用全表扫描更快,则不会使用索引,在这种情况下,如果仍然想使用索引,通过使用FORCE INDEX可以达到目的:
 select * from t_cs_baseinfo a FORCE INDEX(fee_subscrib_flag)where a.FEE_SUBSCRIB_FLAG in('0',' ');

感谢你能够认真阅读完这篇文章,希望小编分享的“MySql索引失效的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySql索引失效的示例分析

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

下载Word文档

猜你喜欢

MySQL避免索引失效的方法示例

目录避免索引失效全值匹配:最左前缀法则:使用函数或计算:隐式类型转换:使用不等于(!= 或 编程网)操作符:使用IS NULL 或 IS NOT NULL:LIKE以通配符开始:OR条件:索引列参与计算或函数:避免索引失效在mysql
MySQL避免索引失效的方法示例
2024-08-12

MySQL索引结构的示例分析

这篇文章将为大家详细讲解有关MySQL索引结构的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。简介在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,
2023-06-29

MySQL细数发生索引失效的情况实例分析

这篇文章主要介绍了MySQL细数发生索引失效的情况实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL细数发生索引失效的情况实例分析文章都会有所收获,下面我们一起来看看吧。索引的存储结构首先了解一下
2023-07-02

MySQL索引失效的典型案例

目录典型案例附:常见索引失效的情况典型案例 有两张表,表结构如下:CREATE TABLE `student_info` ( `id` int(11) NOT NULL, `name` varchar(10) DEFAULT NUL
2022-05-20

MySQL索引失效原因剖析

MySQL索引失效的原因多种多样,以下是一些常见的原因及其解决方法:索引失效的常见原因使用函数或表达式操作索引列:当在查询条件中使用函数(如SUBSTRING、DATE_FORMAT等)或表达式时,索引可能会失效。隐式类型转换:如果查询
MySQL索引失效原因剖析
2024-10-20

MySQL索引创建原则的示例分析

小编给大家分享一下MySQL索引创建原则的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、适合创建索引1、字段的数值有唯一性限制根据Alibaba规范,
2023-06-29

MySQL使用LIKE索引是否失效的验证的示例

目录1、简单的示例展示2、实验演示是否能正确使用索引2.1、表及数据准备2.2、 执行 where DEPARTMENT_NAME LIKE ‘Sales’2.3、 执行 where DEPARTMENT_NAME
MySQL使用LIKE索引是否失效的验证的示例
2024-08-16

编程热搜

目录