Mysql 大法 -Mysql 索引失效 VS Mysql 存储引擎

举报
知识浅谈 发表于 2022/08/27 09:31:31 2022/08/27
【摘要】 Mysql 大法 -Mysql 索引失效 VS Mysql 存储引擎


在这里插入图片描述

🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥 联系方式vx:zsqtcc

索引大法-Mysql索引在什么情况下会失效
🤞这次都给他拿下🤞

正菜来了⛳⛳⛳

🎈索引失效常见条件

  1. like 模糊查询 %在前边的时候,索引失效。
  2. 字段参与表达式运算,该字段上的索引失效。
  3. 字段作为函数的参数,该字段上的索引失效。
  4. 字段发生隐式转换的时候,该字段上的索引失效。
  5. 聚合索引,查询字段不遵守最做匹配原则。
  6. 但进行范围查询的时候,之后的索引失效。

小结:之索引导致索引失效,首先索引的结构是有序的时候才是有效的,不管发生什么导致查找的时候顺序乱了就会导致索引失效。

🎈存储引擎InnoDB与MyISAM的区别

对于这两者的区别,主要从以下几个方面进行对比。
事务:InnoDB支持事务,而MyISAM不支持事务。
索引:InnoDB支持聚簇索引结构,MyISAM支持非聚簇索引结构。
锁:InnoDB支持表锁和行级锁,而MyISAM只支持表级锁。
主键:InnoDB必须有主键,如果不设置,会默认增加一个主键字段,MyISAM可以不用设置主键。
外键:InnoDB支持外键,MyISAM不支持外键。
结构:InnoDB因为是聚簇索引,所以数据和索引存储在一起,只包含表结构文件和数据文件两个文件,因为MyISAM是非聚簇的所以索引和数据是分开的,所以就是三个文件结构,表结构文件,索引文件,数据文件。

小结:两者各有优劣,MyISAM虽然只支持表级锁,但是如果在增删较频繁的环境下,相比于InnoDB需要维护较多的行锁,MyISAM只需要维护表锁即可。

🍚总结

以上是关于Mysql索引失效和 Mysql存储引擎的总结,希望有所帮助。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。