
数据库
文章平均质量分 95
主要包含数据库相关知识的学习
倚-天-照-海
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据库连接池和连接串
在java中有非常多优秀的开源数据源可以供大家选择,比如:DBCP、C3P0、Druid、HikariCP等。下图是开源数据源的对比图:在性能方面:HikariCP因为细节方面优化力度较大,性能方面强于Druid。Hikari 是Springboot 2.0 默认的连接池,所以不用加额外的依赖,现在C3P0已经很久没有更新了, 而Druid 和 HikariCP 处于活跃状态的更新中。原创 2023-11-07 00:27:29 · 407 阅读 · 1 评论 -
MySQL索引和SQL优化
本文系统解析了MySQL索引的工作原理与优化策略。首先介绍了索引的基本概念,阐述了主键索引、唯一索引、普通索引、全文索引和组合索引五种索引类型的特点。然后深入剖析了B+树索引的数据结构优势,解释了其相比B树更适合数据库存储的原因。在存储原理方面,文章对比了InnoDB的聚簇索引和MyISAM的非聚簇索引实现差异,分析了B+树节点的分裂机制与性能影响。最后,文章提供了全面的索引优化建议,包括遵循最左前缀原则、合理设计组合索引、避免索引失效场景等,并介绍了通过执行计划分析SQL性能的方法。原创 2023-10-31 22:05:04 · 165 阅读 · 1 评论 -
数据库分层结构和存储引擎
对于每张表,InnoDB有两个文件存储表数据,以frm为后缀的文件存储的是表结构,以ibd为后缀的文件存储的是表中的数据和索引(如果有索引的话),即InnoDB存储引擎是将表数据和索引存储在同一个文件中的。MyISAM有三个文件存储表数据,以frm为后缀的文件存储的是表结构,以MYD为后缀的文件存储的是表中的数据,以MYI为后缀的文件存储的是索引,即MyISAM存储引擎是将表数据与索引分开存储在两个文件中。如果有权限,就继续往下执行,这时候执行器就会根据表的引擎定义,去使用这个引擎提供的接口。原创 2023-10-31 21:27:49 · 559 阅读 · 1 评论 -
数据库事务
摘要:本文主要讲述了数据库事务的四大特性、事务的隔离级别、MySQL中的几种锁、MVCC的实现原理和MySQL的两阶段提交。详细讲述了数据库事务的四大特性-原子性、一致性、隔离性、持久性的定义和实现原理,数据库事务的隔离级别以及可能引发的问题,MySQL的锁机制和MVCC如何解决事务之间脏读、不可重复读和幻读的问题。原创 2023-08-27 23:20:43 · 1484 阅读 · 1 评论