
mysql
文章平均质量分 97
山河小帅
路漫漫其修远兮,吾将上下而求索。热爱编程的一枚技术痴迷者,喜欢不断学习充实自身,做技术分享,期望与大家共勉。
展开
-
Mysql之主从同步
Mysql要去保证高可用,或者去分担请求压力,一般会去主从部署,读写分离。写库只负责写,而读库更多的去承担读的请求,从库不写数据,数据从主库同步,那么到底是怎么同步的呢?同步,一定十把数据同步给从,它得有个载体,比如redis里面有rdb文件,在Mysql里面充当这个载体得就是BinLog.BinLog又称二进制文件,属于Mysql Server层去记录得,所以,不管是什么存储引擎进行的数据存储,如果binLog开启,都会进行记录。二进制日志包含描述数据库更改如表创建操作或表数据更改的事件。原创 2024-05-26 15:20:10 · 1194 阅读 · 0 评论 -
Mysql之事务
ACID是数据库的一个设计原则,其目的就是尽可能的保证数据的可靠性。Innodb存储引擎就是严格遵照了ACID模型。那么Innodb是怎么做到ACID的呢?所谓原子性,就是我们的多个操作是一起执行的,多个或者单个操作语句都是一个事务,来保证用户想要一起提交哪些语句、或者回滚哪些语句.主要是commit 、rollback、 autocommit来保证原子性Consistency(一致性):所谓一致性,就是保证数据的一致,也就是保证数据不要丢失,不会因为突然的断电等导致数据与想要的数据不一致。原创 2024-05-26 00:22:20 · 1089 阅读 · 0 评论 -
Mysql之InnoDB索引
索引用于快速查找具有特定列值的行。如果没有索引,MySQL必须从第一行开始,然后读取整个表以找到相关的行。表越大,花费就越多。如果表中有相关列的索引,MySQL可以快速确定数据文件中间要查找的位置,而不必查看所有数据。这比按顺序读取每一行要快得多。我们来看一个案例,假设我有一个50w数据的表没有索引的情况下我的查询速度。当我为product_price字段建立索引后的查询速度那么索引究竟是怎么提升性能的呢?InnoDB。原创 2024-05-25 18:13:05 · 728 阅读 · 0 评论 -
Mysql之Innodb存储引擎
innodb作为一个存储数据的引擎;利用了表空间,分段分区分页的思想对数据进行管控;并且采用了内存缓冲池的机制减少IO,提升数据交互的效率;但是就可能造成两处数据的不一致,形成脏页,innodb就又采用了双写机制,提前做好备份,能够应该故障和灾难时,数据的不一致性问题。但是这解决了更改的性能,更改之前还需要从磁盘中拿,于是innodb又提出了change-buffer(更改缓冲区),改了先放内存,下次用了再同步。当然,这些都是采用了异步刷盘的思想,如果,刷盘之前就宕机了呢?原创 2024-05-25 00:40:49 · 1317 阅读 · 0 评论 -
Mysql之基本架构
mysql是一种关系型数据库,由表结构来存储数据与数据之间的关系,同时为sql(结构化查询语句)来进行数据操作。sql语句进行操作又分为几个重要的操作类型DQL: Data Query Language 数据查询语句DML: Data Manipulation Language 添加、删除、修改语句DDL: Data definition Language 数据库结构操作DCL:权限控制语句TCL: 事务相关 比如commit/savepoint、rollback。原创 2024-05-24 21:48:27 · 708 阅读 · 0 评论