MySQL
文章平均质量分 72
MySQL数据库
Redemption^
Few words,many deeds!
展开
-
MySQL之主从同步原理
使用背景:使用MySQL时,遇到单机性能瓶颈的时候,往往就会使用主从部署,或者读写分离、集群等方法。当MySQL涉及到多个节点提供服务的时候,往往就会涉及到数据之间的一致的问题。MySQL是通过使用主从同步来保证各个节点的数据一致。MySQL主从同步的过程:MySQL的主从复制中主要有三个线程: master(bin log dump thread)、slave(I/O thread 、SQL thread) ,Master一条线程和Slave中的两条线程。主节点 bin log,主从复制的基础是主原创 2022-04-08 18:23:29 · 1705 阅读 · 0 评论 -
MySQL之MVCC
MVCC(多版本并发控制)MVCC叫做多版本并发控制,读取数据时通过一种类似快照的方式将数据保存下来,不同的事务会看到自己特定版本的数据,这样读锁和写锁就不冲突了,提高了数据库的读写效率。MVCC主要是处理读请求的,这个读主要处理的是快照读,而不是当前读。快照读(一致性非锁定读),是基于MVCC的,读到的数据不一定是当前最新的数据,有可能是之前历史版本的数据。当前读(锁定读),其实是一种悲观锁,需要去加锁。读取的是最新版本的数据,比如我们执行insert、update或delete的时候,原创 2022-04-05 19:13:07 · 1174 阅读 · 0 评论 -
MySQL之乐观锁与悲观锁
悲观锁select…for update 是 MySQL 提供的实现悲观锁的方式。例如:select price from item where id=100 for update;此时在 items 表中,id 为 100 的那条数据就被我们锁定了,其它的要执行 select price from items where id=100 for update 的事务必须等本次事务提交之后才能执行。这样我们可以保证当前的数据不会被其它事务修改。MySQL 有个问题是 select…for up原创 2022-04-04 11:31:48 · 889 阅读 · 0 评论 -
MySQL之索引
前言:本文主要梳理整合了包括:索引的概念、作用、优缺点,索引的底层数据结构(Hash表、B树、B+树),索引的类型(主键索引、辅助索引、聚集索引、非聚集索引、覆盖索引),联合索引的最左匹配原则,以及创建索引的注意事项。具体内容如下所示。索引的概念索引是一种用于快速查询和检索数据的数据结构。常见的索引结构有: B 树, B+树和 Hash。如果没有索引,一般来说执行查询的时候需要遍历整张表。(索引的作用就相当于我们平时用的目录,通过目录快速定位到查找目标的位置。如果没有目录我们只能一页一页翻,速度十分慢。原创 2022-03-31 22:53:15 · 1635 阅读 · 0 评论 -
MySQL之事务
主要内容包括:事务的介绍、事务的特征(ACID)、日志(binlog、redolog、binlog)、并发事务有关问题(脏读、丢失修改、不可重复、幻读)、事务的隔离级别。什么是事务?简而言之:事务是逻辑上的一组操作,要么都执行,要么都不执行。事务可以是一条非常简单的SQL语句组成,也 可以由一组复杂的SQL语句组成,事务是访问并更新数据库中各种数据项的一个程序执行单 元。在事务中的操作,要么都做修改,要么都不做,这就是事务的主要目的。...原创 2022-03-30 13:42:15 · 92 阅读 · 0 评论 -
MySQL数据库引擎MyISAM和 InnoDB的区别以及琐
MyISAM引擎和 InnoDB引擎的区别MySQL 5.5之前的默认存储引擎是MyISAM,MyISAM的性能还可以(支持全文索引,压缩,空间函数等)。但是MyISAM不支持事务和行级锁,而且最大的缺陷是崩溃后无法安全恢复。MySQL5.5之后默认的存储引擎为InnoDB(事务性数据引擎)。MyISAM引擎和InnoDB引擎的对比MyISAM只支持表级锁,而InnoDB不仅支持表级锁而且还支持行级锁,默认为行级锁。MyISAM不支持事务,InnoDB支持事务,具有commit和rollba原创 2022-03-28 13:02:22 · 959 阅读 · 0 评论