mysql
高性能mysql
搬砖使我快乐!
热爱技术,热爱生活.
展开
-
[mysql] next-key lock实践.
首先前提是 我们用的是可重复读级别(rr). 读提交级别不需要间隙锁.那怎么解决之前说的binlog的问题呢?需要改binlog为row级别.本文过长,因为例子太多1.创建数据库先来一些准备工作mysql> CREATE DATABASE twenty_one;Query OK, 1 row affected (0.00 sec)2.创建表以及数据######选择数据库mysql> use twenty_one;Database changed###.原创 2020-11-30 22:12:50 · 300 阅读 · 0 评论 -
[mysql]幻读与间隙锁.锁规则
先来看一个语句sql语句CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `c` (`c`)) ENGINE=InnoDB;insert into t values(0,0,0),(5,5,5),有三个字段,id(主键),c(索引),d(普通字段)初始化2条数据(0,0,.原创 2020-11-30 21:54:52 · 370 阅读 · 0 评论 -
[mysql] mysql 5.7搭建
mysql安装1.下载wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm2.repo安装rpm -ivh mysql57-community-release-el7-9.noarch.rpm执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repomysql-community-source.repo3.yum安装cd /etc.原创 2020-11-30 21:53:53 · 221 阅读 · 0 评论 -
sort原理/select count原理
MySQL 会给每个线程分配一块内存用于排序,称为 sort_buffer。示例:select city,name,age from t where city='杭州' order by name limit 1000 ;执行流程:1.初始化sort_buffer,确定需要存放city,name,age三个字段2.通过city索引,插叙city=杭州的行,回表查出name,age字段值3.将2中的三个字段值,放入到sort_buffer.4.将sort_buffer中..原创 2020-11-23 02:57:05 · 373 阅读 · 0 评论 -
mysql binlog redolog 两阶段思考 mvcc
1.redolog1.为什么要有redolog更新的时候,直接更新磁盘数据效率低(随机写),所以先写入redo-log,更新内存数据,直接返回就行了.2.那磁盘上的数据什么时候会刷呢?首先redo log不是一个无限大的文件,有固定大小,所以当redo log满的时候,肯定会刷新磁盘,更新数据.这时候刷已经晚了,用户插入数据已经开始阻塞了.第二个是,mysql线程会定期刷redo log到磁盘.3.用处用于崩溃恢复.crash saferedolog,两阶段,redolog-原创 2020-11-23 02:55:17 · 461 阅读 · 0 评论
分享