前言 最近在面试,有被问到,MySQL的InnoDB引擎是如何实现事务的,又或者说是如何实现ACID这几个特性的,当时没有答好,所以自己总结出来,记录一下。 事务的四大特性ACID 事务的四大特性ACID分别是,A-原子性(Atomicity),C-一致性(Consistency),I-隔离性(Is ...
分类:
数据库 时间:
2020-08-24 16:29:25
阅读次数:
57
1.服务器层优化1.将数据保存在内存中,保证内存读取数据设置足够大的innodb_buffer_pool_size,将数据读取到内存中。建议innodb_buffer_poll_size设置为总内存大小的3/4或者4/5怎么确定innodb_buffer_pool_size足够大。数据是从内存读取而不是硬盘?innodb_buffer_pool_pages_free为0则表示bufferpool已
分类:
数据库 时间:
2020-08-18 13:37:49
阅读次数:
66
线上三张图吧: 一、innodb系统架构图 ...
分类:
数据库 时间:
2020-08-17 16:54:00
阅读次数:
64
MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。 数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思。 假 ...
分类:
数据库 时间:
2020-08-11 11:57:35
阅读次数:
101
MySQL InnoDB 引擎底层数据结构是 B+ 树,所谓的索引其实就是一颗 B+ 树,一个表有多少个索引就会有多少颗 B+ 树,mysql 中的数据都是按顺序保存在 B+ 树叶子节点上的(所以说索引本身是有序的)。主要目的有三个:1)提高范围查询效率;2)增加排序效率;3)提高扫表能力,顺序访问 ...
分类:
数据库 时间:
2020-08-08 20:09:12
阅读次数:
121
前言:存储引擎是数据库的核心,对于MySQL来说,存储引擎是以插件的形式运行的。虽然MySQL支持种类繁多的存储引擎,但最常用的当属InnoDB了,本篇文章将主要介绍InnoDB存储引擎相关知识。1.InnoDB简介MySQL5.5版本以后,默认存储引擎就是InnoDB了。InnoDB是一种兼顾了高可靠性和高性能的通用存储引擎。在MySQL5.7中,除非你配置了其他默认存储引擎,否则执行CREAT
分类:
数据库 时间:
2020-08-08 00:42:33
阅读次数:
149
前言:存储引擎是数据库的核心,对于MySQL来说,存储引擎是以插件的形式运行的。虽然MySQL支持种类繁多的存储引擎,但最常用的当属InnoDB了,本篇文章将主要介绍InnoDB存储引擎相关知识。1.InnoDB简介MySQL5.5版本以后,默认存储引擎就是InnoDB了。InnoDB是一种兼顾了高可靠性和高性能的通用存储引擎。在MySQL5.7中,除非你配置了其他默认存储引擎,否则执行CREAT
分类:
数据库 时间:
2020-08-08 00:42:13
阅读次数:
155
今天在看分库分表的时候突然想到了锁 现在我们就来看看锁 mysql举例: InnoDB引擎的行锁和表锁 表锁:不会出现死锁,发生锁冲突几率高,并发低。 行锁:会出现死锁,发生锁冲突几率低,并发高。 锁冲突:例如说事务A将某几行上锁后,事务B又对其上锁,锁不能共存否则会出现锁冲突。(但是共享锁可以共存 ...
分类:
其他好文 时间:
2020-08-04 18:17:50
阅读次数:
78
简介:存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。 常见分类有:InnoDB、MyISAM、Memory等; 一、InnoDB 1. 是事务型存储引擎,支持事务ACID,MySQL5.5版本后,它 ...
分类:
数据库 时间:
2020-08-03 17:18:48
阅读次数:
98
线上Zabbix监控服务器DB采用的是MySQL一主一从。监控历史数据公司要求保留2年,历史数据相关的表做了表分区,过期数据自动删除。随着线上Zabbix监控设备数的不断增加,服务器磁盘空间增长的很厉害,3.7T的磁盘空间目前已经用了3.3T。尝试用pt-online工具压缩数据表,由于历史数据没有主键不能压缩。最后考虑把Zabbix历史相关的数据表由Innodb引擎转换成TokuDB引擎从而来减
分类:
数据库 时间:
2020-07-31 12:34:18
阅读次数:
103