MySQL MySQL(InnoDB存储引擎)默认是自动提交事务的,所以这个测试,需要先将MySQL的autocommit设置为0,关闭自动提交,需要自己手动提交事务 这里我主要针对的是悲观锁,其实也就是行锁和表锁,SQL 加上 FOR UPDATE 即可 行锁 这个时候,我们再开启一个客户端访问M ...
分类:
数据库 时间:
2019-01-17 23:47:39
阅读次数:
258
一、InnoDB存储引擎 InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供了一个强大的解决方案。InnoDB就是作为默认的存储引擎。InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的选择: 1.更新密集的表。I ...
分类:
数据库 时间:
2019-01-15 17:09:43
阅读次数:
191
1、简介 MySQL 8.0 将数据库元信息都存放于InnoDB存储引擎表中,在之前版本的MySQL中,数据字典不仅仅存放于特定的存储引擎表中,还存放于元数据文件、非事务性存储引擎表中。本文将会介绍MySQL 8.0对数据字典的改进,以及改进带来的好处、影响以及局限性。 2、数据字典 2.1、新版本 ...
分类:
数据库 时间:
2019-01-08 19:20:16
阅读次数:
191
Ⅰ、缓冲池介绍 innodb存储引擎缓冲池(buffer pool) ,类似于oracle的sga,里面放着数据页 、索引页 、change buffer 、自适应哈希 、锁(5.5之前)等内容 综上所示: 每次读写数据都是通过Buffer Pool 当Buffer Pool中没有用户所需要的数据时 ...
分类:
其他好文 时间:
2019-01-08 00:57:24
阅读次数:
193
全文索引时将存储在数据库中的整本书或整篇文章中的任意内容信息查找出来的技术。它可以根据需要获取全文中有关章,节,段,句,词等信息,也可以进行各种统计和分析。 之前的MySQL数据库中,INNODB存储引擎并不支持全文索引技术,大多数的用户转向MyISAM存储引擎,不过这可能进行表的拆分,并需要将进行 ...
分类:
其他好文 时间:
2019-01-07 17:45:53
阅读次数:
190
这片博文我们会详细说明MySQL本身的日志,不包含重做日志和undo日志(这两个日志是innodb存储引擎的日志)。 MySQL本身的日志有以下几种(MySQL5.7版本): 错误日志 慢查询日志 通用日志 二进制日志 错误日志 默认情况下,错误日志是无法被禁止;错误日志的位置及日志名使用log_e ...
分类:
数据库 时间:
2019-01-05 19:44:43
阅读次数:
258
一、基础规范: 1. 必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2. 新库默认使用utf8mb4字符集 解读:utf8mb4是utf8的超集,emoji表情以及部分不常见汉字在utf8下会表现为乱码,故需要升级至utf8mb4。 默 ...
分类:
数据库 时间:
2019-01-05 15:17:46
阅读次数:
229
Flush neighbor page 1、工作原理 2、参数控制 AIO 1、开启异步IO 一、刷新邻接页功能 1、工作原理 当刷新一个脏页时,innodb存储引擎会检测该页所在区(extent)的所有页,如果是脏页,那么一起进行刷新。这样做的好处显而易见,通过AIO可以将多个IO写入操作合并为一 ...
分类:
数据库 时间:
2018-12-27 03:06:07
阅读次数:
214
后台线程 1.Master Thread 2.IO Thread 3.Purge Thread 4.Page Cleaner Thread 内存 重做日志在以下三种情况下将重做日志缓存中的内容刷新到外部磁盘的重做日志文件: Master Thread 每一秒将重做日志缓存刷新到重做日志文件; 每个事 ...
分类:
数据库 时间:
2018-12-21 18:43:23
阅读次数:
249