当前位置: 首页 > news >正文

mysql查缺补漏

好文推荐:

【数据库】快速理解脏读、不可重复读、幻读-CSDN博客

再探幻读!什么是幻读?为什么会产生幻读,MySQL中是怎么解决幻读的?-CSDN博客

引擎

mysql默认引擎:innodb

1.支持行锁
2.支持事务
3.支持外键

索引

索引之b+tree和b-tree

b+tree:数据都在叶子结点,叶子节点通过链表连在一起

为什么使用b+树:

1.相比于二叉树,高度大大减小,每一层高度意味着io读写,性能大大降低
2.相比于b树,因为非叶子节点只存储索引,每一页可以存更多的索引,降低高度
3.可范围查询

从上一节中的B-Tree结构图中可以看到每个节点中不仅包含数据的key值,还有data值。而每一个页的存储空间是有限的,如果data数据较大时将会导致每个节点(即一个页)能存储的key的数量很小,当存储的数据量很大时同样会导致B-Tree的深度较大,增大查询时的磁盘I/O次数,进而影响查询效率。在B+Tree中,所有数据记录节点都是按照键值大小顺序存放在同一层的叶子节点上,而非叶子节点上只存储key值信息,这样可以大大加大每个节点存储的key值数量,降低B+Tree的高度。

聚集索引:索引和数据存在一起,叶子节点存的是该行数据

二级索引:索引和数据分开存储,叶子节点存储的是主键

select * from where name = "Anc",需要现在二级索引的b+shu找到其主键,然后在聚集索引找到该id下的该行数据,称为回表查询

建立(username,password)联合索引,这样覆盖索引,不用回表查询

尽量使用联合索引,而不是单列索引,因为联合索引很多时候可以覆盖索引,不用回表查询

MyISAM 仅仅支持表级锁(table-level locking),一锁就锁整张表,这在并发写的情况下性非常差。InnoDB 不光支持表级锁(table-level locking),还支持行级锁(row-level locking),默认为行级锁。

行级锁的粒度更小,仅对相关的记录上锁即可(对一行或者多行记录加锁),所以对于并发写入操作来说, InnoDB 的性能更高。

表级锁:对整张表进行加锁,并发下效率极低,myisam和innodb都支持

行级锁:

MySQL 中锁定粒度最小的一种锁,是 针对索引字段加的锁 ,只针对当每行数据进行加锁。 其加锁粒度最小,并发度高,但加锁的开销也最大,加锁慢,会出现死锁。

 

http://www.lryc.cn/news/534674.html

相关文章:

  • 跨越边界,大模型如何助推科技与社会的完美结合?
  • 哪吒闹海!SCI算法+分解组合+四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测
  • 前端【技术方案】浏览器兼容问题(含解决方案、CSS Hacks、条件注释、特性检测、Polyfill 等)
  • 荣耀手机Magic3系列、Magic4系列、Magic5系列、Magic6系列、Magic7系列详情对比以及最新二手价格预测
  • 后盾人JS -- 模块化开发
  • CNN卷积神经网络多变量多步预测,光伏功率预测(Matlab完整源码和数据)
  • 深入 JVM 虚拟机:字符串常量池演变与 intern() 方法工作原理解析
  • 单向/双向,单层/多层RNN输入输出维度问题
  • chromium-mojo
  • ZooKeeper 的典型应用场景:从概念到实践
  • 缓存组件<keep-alive>
  • YouBIP 项目
  • react概览webpack基础
  • DeepSeek 助力 Vue 开发:打造丝滑的步骤条
  • STM32的HAL库开发---高级定时器---互补输出带死区实验
  • Vue07
  • 【CXX-Qt】2 CXX-Qt #[cxx_qt::bridge] 宏指南
  • 鸿蒙接入支付宝SDK后模拟器无法运行,报错error: install parse native so failed.
  • 局域网使用Ollama(Linux)
  • Deepseek系列从v3到R易背面经版
  • Redis深入学习
  • 《从入门到精通:蓝桥杯编程大赛知识点全攻略》(十一)-回文日期、移动距离、日期问题
  • 在Uniapp中使用阿里云OSS插件实现文件上传
  • 9 数据流图
  • IDEA查看项目依赖包及其版本
  • 【数据结构】_栈与队列经典算法OJ:栈与队列的互相实现
  • SAP-ABAP:ROLLBACK WORK使用详解
  • DeepSeek R1 Distill Llama 70B(免费版)API使用详解
  • 如何避免大语言模型中涉及丢番图方程的问题
  • flutter 获取网络图片的尺寸