![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 89
耶律妙月
这个作者很懒,什么都没留下…
展开
-
MySQL Explain详解
我们创建三张表 one、two、three,表之间的关系 one.two_id = two.two_id AND two.three_id = three.three_id。一、id表示查询中执行select子句或者操作表的顺序,id的值越大,代表优先级越高,越先执行。id大致会出现 3种情况:1、id相同看到三条记录的id都相同,可以理解成这三个表为一组,具有同样的优先级,执行顺序由上而下,具体顺序由优化器决定。mysql> EXPLAIN SELECT * FROM one o,two转载 2020-12-29 12:01:19 · 124 阅读 · 0 评论 -
MySQL 操作规范学习
建表规约表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是, 0 表示否)。注意: POJO 类中的任何布尔类型的变量,都不要加 is 前缀,在 <resultMap> 设置从 is_xxx 到xxx 的映射关系。表名、字段名必须使用小写字母或数字, 禁止出现数字开头,禁止两个下划线中间只出现数字。MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。表名不使用复数名词。对应于转载 2020-06-05 10:27:09 · 236 阅读 · 0 评论 -
MySQL学习笔记10——更新语句流程、日志系统、WAL
文章目录一、更新语句流程和日志系统1.redo log2.binlog3.两阶段提交4.如何保证redo log 和 bin log 完整性bin log 的写入机制redo log 的写入机制组提交(group commit)机制二、WAL(Write-Ahead Logging)导致的抖动1.数据库“抖动”的原因2.InnoDB 刷脏页的控制策略思考题一、更新语句流程和日志系统以下面这个...原创 2020-02-27 14:11:27 · 387 阅读 · 0 评论 -
MySQL学习笔记9——binlog格式、主备基本原理、主备延迟
文章目录一、MySQL 主备的基本原理1.主备切换流程2.binlog 的三种格式对比binlog_format=statementbinlog_format=‘row’binlog_format=‘mixed’3.循环复制问题二、MySQL的高可用1.主备延迟的概念2.主备延迟的来源3.可靠性优先策略4.可用性优先策略思考题一、MySQL 主备的基本原理1.主备切换流程在状态 1 中,...原创 2020-02-25 16:04:08 · 1008 阅读 · 0 评论 -
MySQL学习笔记8——慢查询
文章目录一、简单语句的慢查询1.查询长时间不返回等 MDL 锁等 flush等行锁2.查询慢条件没有索引长事务二、kill 命令思考题一、简单语句的慢查询假设表有两个字段 id 和 c,并且在里面插入了 10 万行记录。CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY ...原创 2020-02-27 15:43:22 · 645 阅读 · 1 评论 -
MySQL学习笔记7—— count(*) 和 order by的原理
文章目录一、count(*) 的实现方式一、count(*) 的实现方式在不同的 MySQL 引擎中,count(*) 有不同的实现方式。这里说的count(*) 都是没有过滤条件的。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高;InnoDB 需要把数据一行一行地从引擎里面读出来,然后累积计数。这是因为即使是在同一个时刻的...原创 2019-12-25 10:57:56 · 5025 阅读 · 0 评论 -
MySQL学习笔记6——数据删除流程、预防误删、重建表
文章目录一、数据删除流程二、预防误删库 / 表的方法三、重建表1. Online DDL2.Online 和 inplace思考题一、数据删除流程还是针对 MySQL 中应用最广泛的 InnoDB 引擎展开讨论。为什么简单地删除表数据达不到表空间回收的效果?表数据既可以存在共享表空间里,也可以是单独的文件。这个行为是由参数 innodb_file_per_table 控制的:OFF 表...原创 2019-12-05 17:03:19 · 926 阅读 · 0 评论 -
MySQL学习笔记5——事务一致性视图、MVCC
文章目录1.两种视图的概念2.“快照”在 MVCC 里是怎么工作的?3.更新逻辑思考题在事务的隔离级别章节中提到过,如果是可重复读的隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。但是,在锁章节中又提到,一个事务要更新一行,如果刚好有另外一个事务拥有这一行的行锁,就会被锁住,进入等待...原创 2019-11-29 09:34:33 · 2189 阅读 · 4 评论 -
MySQL学习笔记4——锁
文章目录一、全局锁二、表级锁三、行锁1.两阶段锁2.死锁和死锁检测思考题一、全局锁数据库锁设计的初衷是处理并发问题。根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命...原创 2020-02-26 14:16:49 · 479 阅读 · 0 评论 -
MySQL学习笔记3——索引
文章目录一、索引的常见模型1.哈希表2.有序数组3.搜索树二、InnoDB 的索引模型1.B+树结构和索引查询2.索引维护3.覆盖索引4.最左前缀原则5.索引下推三、索引的选择1.查询过程2.更新过程思考题一、索引的常见模型索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。但是实现索引的方式却有很多种,所以这里也就引入了索引模型的概念。可以用于提高读写效率的数据结构很多,这里先介绍...原创 2019-12-02 14:40:02 · 371 阅读 · 0 评论 -
MySQL学习笔记2——事务的隔离级别、幻读
文章目录一、事务的隔离级别二、事务隔离的实现思考题一、事务的隔离级别提到事务,你肯定会想到 ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),隔离级别就是“隔离性”的具体体现。当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读...原创 2019-12-30 15:40:00 · 390 阅读 · 0 评论 -
MySQL学习笔记1——组件介绍、查询语句流程、大查询的影响
文章目录一、组件介绍和查询语句流程1 .连接器2.查询缓存3.分析器4.优化器5.执行器二、大查询的影响1.全表扫描对 server 层的影响2.全表扫描对 InnoDB 的影响思考题一、组件介绍和查询语句流程MySQL 的基本架构示意图,可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Serve...原创 2020-02-27 16:08:02 · 243 阅读 · 0 评论 -
windows安装mysql8.0
1:首先去官网下载zip安装包3:在mysql-8.0.11-winx64文件夹下面新建一个my.ini文件和一个data文件夹my.ini内容:[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=E:\\mysql-5.7.22-winx64# 设置mysql数据库的数据的存放目录datadir=E:\\mysql-5.7.22-w...转载 2019-11-02 19:10:19 · 164 阅读 · 0 评论 -
windows彻底卸载mysql8.0
本文介绍,在Windows10系统下,如何彻底删除卸载MySQL。。。1》停止MySQL服务开始-》所有应用-》Windows管理工具-》服务,将MySQL服务停止。2》卸载mysql server控制面板\所有控制面板项\程序和功能,将mysql server卸载掉。3》将MySQL安装目录下的MySQL文件夹删除(我的安装目录是C:\Program Files (x86)\MyS...转载 2019-11-02 19:10:00 · 6255 阅读 · 0 评论 -
mysql 8.0.13重置密码
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,2.开启跳过密码验证登录的MySQL服务 输入命令 mysqld --console --skip-grant-tables --shared-memory 3....转载 2019-11-02 19:09:29 · 143 阅读 · 0 评论 -
linux安装mysql
mysql在linux下的安装1、下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-...转载 2019-11-02 19:00:24 · 111 阅读 · 0 评论