随笔 - 171  文章 - 0  评论 - 0  阅读 - 62142

随笔分类 -  数据库

主从复制
摘要:MySQL 主从复制(Master-Slave Replication)是一种数据复制技术,用于在多个数据库服务器之间的数据同步。在主从复制架构中,一个服务器被设置为主服务器(Master),充当数据源,其他服务器被设置为从服务器(Slave),用来复制主服务器的数据。 MySQL 的主从复制工作过 阅读全文
posted @ 2024-06-30 18:03 zhengbiyu 阅读(15) 评论(0) 推荐(0) 编辑
排序
摘要:“排序”这个动作,可能在内存中完成,也可能需要使用外部排序,这取决于排序所需的内存和参数 sort_buffer_size。sort_buffer_size,就是 MySQL 为排序开辟的内存(sort_buffer)的大小。如果要排序的数据量小于 sort_buffer_size,排序就在内存中完 阅读全文
posted @ 2024-06-24 22:19 zhengbiyu 阅读(8) 评论(0) 推荐(0) 编辑
索引的访问类型
摘要:创建表: CREATE TABLE single_table ( id INT NOT NULL AUTO_INCREMENT, key1 VARCHAR(100), key2 INT, key3 VARCHAR(100), key_part1 VARCHAR(100), key_part2 VAR 阅读全文
posted @ 2024-02-26 22:24 zhengbiyu 阅读(8) 评论(0) 推荐(0) 编辑
脚本exlpain结果与optimizer_trace结果不一致
摘要:先说结论: 表数据量太少,使用索引的效率不如全表扫描。 表信息: CREATE TABLE `w_map_cell` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `shelf_id` bigint(11) DEFAULT NULL COM 阅读全文
posted @ 2024-01-24 18:04 zhengbiyu 阅读(9) 评论(0) 推荐(0) 编辑
mysql的主键超过最大值会发生什么?
摘要:设置主键的情况下 在自增主键达到int64最大后,再次插入一行记录,报错如下: Duplicate entry ‘4294967295’ for key ‘increment_id_test.PRIMARY’ 唯一键冲突报错:当auto_incement达到上限后,再次申请下一个id时,得到的值保持 阅读全文
posted @ 2023-04-09 21:01 zhengbiyu 阅读(411) 评论(0) 推荐(0) 编辑
事务隔离级别
摘要:事务的四个特征(ACID) 事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。这四个特性简称为 ACID 特性。 原子性。事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做。 阅读全文
posted @ 2023-04-06 21:31 zhengbiyu 阅读(10) 评论(0) 推荐(0) 编辑
binlog
摘要:mysql binlog的三种格式简单概括总结 三种格式:row、statement、mixed 区别:row格式文件比较大,statement比较小,row格式保存的是一行一行的数据,statement保存的是sql语句,mixed格式介于二者之间,statement容易丢数据,row格式则不会。 阅读全文
posted @ 2023-04-06 21:30 zhengbiyu 阅读(8) 评论(0) 推荐(0) 编辑
Rcord Lock、Gap Lock、Next-key Lock(待补充)
摘要:查询mysql加锁情况 在MySQL中,可以通过SHOW ENGINE INNODB STATUS查看加锁情况。 需要通过下列配置才能从SHOW ENGINE INNODB STATUS 中看到锁的状态。 SET GLOBAL innodb_status_output=ON; SET GLOBAL 阅读全文
posted @ 2023-04-06 16:43 zhengbiyu 阅读(9) 评论(0) 推荐(0) 编辑
LSMT(Log-Structured Merge-Tree)
摘要:LSM简介Log Structured Merge Tree,下面简称 LSM。2006年,Google 发表了 BigTable 的论文。这篇论文提到 BigTable 单机上所使用的数据结构就是 LSM。目前,LSM 被很多存储产品作为存储结构,比如 Apache HBase, Apache C 阅读全文
posted @ 2023-03-29 16:39 zhengbiyu 阅读(992) 评论(0) 推荐(0) 编辑
change buffer
摘要:change buffer 是 buffer pool 里的一块区域。 change buffer 不缓存聚簇索引的更新,二级索引的page假如符合使用 change buffer 更新条件的话,就不去读磁盘,直接使用 change buffer 的 page,change buffer 的 pag 阅读全文
posted @ 2023-03-27 00:25 zhengbiyu 阅读(106) 评论(0) 推荐(0) 编辑
索引失效场景
摘要:什么时没必要用索引 1) 数据唯一性差,区分度不高(一个字段的取值只有几种时)的字段不要使用索引 比如性别,只有两种可能数据。意味着索引的二叉树级别少,多是平级。这样的二叉树查找无异于全表扫描。 2) 频繁更新的字段不要使用索引 比如logincount登录次数,频繁变化导致索引也频繁变化,增大数据 阅读全文
posted @ 2023-03-27 00:15 zhengbiyu 阅读(48) 评论(0) 推荐(0) 编辑
B Tree和B+Tree
摘要:索引结构(innodb) B Tree 每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null,叶子结点不包含任何关键字信息 B+Tree 所有的叶子结点中包含了全部关键字的信息,非叶子节点只存储键值信息,及指向含有这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大的 阅读全文
posted @ 2023-03-26 23:47 zhengbiyu 阅读(17) 评论(0) 推荐(0) 编辑
undo log
摘要:事务回滚用,属于逻辑日志。 行记录隐藏列roll_pointer(7字节)会指向undolog,每条undolog中也有一个roll_pointer指向更早的undolog记录,在mvcc中会使用版本链来达到事务隔离的效果。 我们知道如果想要保证事务的原子性,就需要在异常发生时,对已经执行的操作进行 阅读全文
posted @ 2023-03-26 23:39 zhengbiyu 阅读(80) 评论(0) 推荐(0) 编辑
redo log
摘要:在mysql中数据更新的流程是:1、执行器先从引擎中找到数据,如果在内存则直接返回,如果不在内存查询后返回。2、执行器拿到数据后,会先修改数据,然后记录undolog,调用引擎接口重新写入数据。3、引擎将数据更新到内存,同时写入redo log,此时处于prepare状态。4、执行器生成这个操作的b 阅读全文
posted @ 2023-03-26 23:38 zhengbiyu 阅读(65) 评论(0) 推荐(0) 编辑
死锁
摘要:死锁的必要条件 多个并发事务(2个或者以上)。 每个事务都持有锁(或者是已经在等待锁)。 每个事务都需要再继续持有锁(为了完成事务逻辑,还必须更新更多的行)。 事务之间产生加锁的循环等待,形成死锁。 总结:当两个或多个事务相互持有对方需要的锁时,就会产生死锁。 死锁的检测(8.0版本增加) 当死锁检 阅读全文
posted @ 2023-03-26 23:29 zhengbiyu 阅读(59) 评论(0) 推荐(0) 编辑
表新增字段如何减少影响业务影响
摘要:首先选择业务低峰期执行,如果24小时业务都频繁,有以下几种方式: 直接添加 如果该表读写不频繁,数据量较小(通常1G以内或百万以内),直接添加即可。 MySQL 5.6后自带OnlineDDL功能(MyISAM表无法使用,且不支持全文和空间索引),自身的OnlineDDL是inplace模式,当整个 阅读全文
posted @ 2023-03-26 23:20 zhengbiyu 阅读(241) 评论(0) 推荐(0) 编辑
数据库表数据空洞处理
摘要:数据空洞 当对一条数据执行delete操作时,MySQL将数据删除后,并未将数据占用的空间返还给操作系统,而是将当前空间标记为"可复用",当有新的数据插入时,则不会重新申请空间,而是插入到"可复用"空间中,这种"可复用"空间,称之为数据空洞。 MySQL官方文档对此的解释如下: After dele 阅读全文
posted @ 2023-03-26 23:14 zhengbiyu 阅读(188) 评论(0) 推荐(0) 编辑
一般怎么分析一个sql
摘要:explain语句进行分析。还需要进一步分析的话可以进行optimizer_trace,一共prepare、optimizer、execute阶段,主要关注optimizer阶段。 type 详见索引的访问类型。 key 实际使用的索引。 key_len 使用的索引的长度。可以分析联合索引用上了几个 阅读全文
posted @ 2023-03-26 23:11 zhengbiyu 阅读(41) 评论(0) 推荐(0) 编辑
MVCC机制
摘要:行记录隐藏列trx_id(占用 6 个字节)。 RC隔离级别是在每次执行sql时生成read view,RR隔离级别是在事务开始后第一次执行sql生成read view。 ReadView中主要包含4个比较重要的内容: m_ids:表示在生成ReadView时当前系统中活跃的读写事务的事务id列表。 阅读全文
posted @ 2023-03-26 23:09 zhengbiyu 阅读(41) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示