
MySql
文章平均质量分 95
流华追梦
15年+ IT从业经验,互联网高级算法工程师、Java语言专家、.Net专家、博客专家、阿里云专家、优快云2023博客之星,优快云付费资源项目实践专家,谢谢关注!
展开
-
详解 MySql InnoDB 的 MVCC 实现机制
MVCC,全称 Multi-Version Concurrency Control,即多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC 在 MySql InnoDB 中的实现主要是为了提高数据库并发性能,用更好的方式去处理 读-写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。原创 2024-01-02 09:03:42 · 1382 阅读 · 1 评论 -
MySql 性能优化神器之 explain 详解
数据库是程序员必备的一项基本技能,基本每次面试必问。对于刚出校门的程序员,你只要学会如何使用就行了,但越往后工作越发现,仅仅会写 sql 语句是万万不行的。写出的 sql,如果性能不好,达不到要求,可能会阻塞整个系统,那对于整个系统来讲是致命的。所以如何判断你的 sql 写的好不好呢?毕竟只有先知道 sql 写的好不好,才能再去考虑如何优化的问题。MySql 官方就给我们提供了很多 sql 分析的工具,这里我们主要说一下 EXPLAIN。原创 2023-12-29 09:01:59 · 1280 阅读 · 1 评论 -
MySql 中的锁详解 —— 共享锁、排他锁、全局锁、表级锁、页级锁、行级锁、意向锁、记录锁、间隙锁等
锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制。MySql 中为了保证数据访问的一致性与有效性等功能,实现了锁机制,MySql 中的锁是在服务器层或者存储引擎层实现的。在实际的数据库系统中,每时每刻都在发生锁定,当某个用户在修改一部分数据时,MySql 会通过锁定防止其他用户读取同一数据。1. 意向锁是 InnoDB 自动加的,不需要用户干预。2. 对于 INSERT、UPDATE 和 DELETE 语句,InnoDB 会自动给涉及的数据集加上排他锁。原创 2023-12-28 09:06:28 · 3074 阅读 · 1 评论 -
MySql 中的聚簇索引、非聚簇索引、唯一索引和联合索引
索引根据底层实现可分为 B-Tree 索引和哈希索引,大部分时候我们使用的都是 B-Tree 索引,因为它良好的性能和特性更适合于构建高并发系统。根据索引的存储方式来划分,索引可以分为聚簇索引和非聚簇索引。聚簇索引的特点是叶子节点包含了完整的记录行,而非聚簇索引的叶子节点只有所以字段和主键ID。根据聚簇索引和非聚簇索引还能继续下分,分为普通索引、覆盖索引、唯一索引以及联合索引等。原创 2023-12-27 09:03:54 · 1409 阅读 · 1 评论 -
MySql 中的 B+树索引和哈希索引
索引是存储引擎用于快速找到记录的一种数据结构。索引对于数据库良好的性能十分关键,尤其是表中的数据量越来越大时,索引对性能的影响十分明显。索引优化应该是对查询性能优化最有效的手段了,索引能够轻而易举将查询性能提高几个数量级。以 innodb 为例,innodb 中存储数据的基本元素是页,页里面保存了许多数据记录,各个记录通过链表串联起来。一个 innodb 页的结构为:innodb 给每个页分配了16KB的大小,除了存储用户记录以外还有一些额外的字段没有展示出来。原创 2023-12-26 09:05:16 · 1181 阅读 · 1 评论 -
MySql 事务隔离级别详解
事务隔离是指在数据库中,多个并发执行的事务之间相互隔离的程度。事务隔离级别是一个重要的概念,它定义了事务在读取和修改数据时能够接触到其他事务所做的修改的程度。原创 2023-12-25 08:55:03 · 1398 阅读 · 1 评论