
MySQL实战
文章平均质量分 96
hoxis
这个作者很懒,什么都没留下…
展开
-
MySQL实战 | 01-当执行一条 select 语句时,MySQL 到底做了啥?
原文链接:当执行一条 select 语句时,MySQL 到底做了啥?也许,你也跟我一样,在遇到数据库问题时,总时茫然失措,想重启解决问题,又怕导致数据丢失,更怕重启失败,影响业务。就算重启成功了,对于问题的原因仍不知所以。本文开始,记录学习《MySQL实战45讲》专栏的过程。也许有人会问,你记录有什么意义?直接看专栏不就行了吗?你这不是啃别人的剩骨头吗?是的,这个系列,我只是基于专栏学习...原创 2018-11-23 12:42:26 · 7557 阅读 · 17 评论 -
MySQL实战 | 11 怎么给字符串字段加索引?
两种:全字段索引前缀索引举例:mysql> create table SUser(ID bigint unsigned primary key,email varchar(64), ... )engine=innodb; 可以对 email 字段创建全字段索引,或者前缀索引。mysql> alter table SUser add index index1(...原创 2019-02-27 12:57:46 · 4997 阅读 · 1 评论 -
MySQL实战 | 09 普通索引还是唯一索引?
普通索引和唯一索引如何选择?脑图地址:https://mubu.com/doc/aRFaYEd5EG几种索引普通索引作用:加快对数据的访问速度一般加在经常查询或者排序的字段上允许字段值重复唯一索引保证数据记录的唯一性目的是为了避免数据重复维护数据完整性如何选择查询效率普通索引会查询多个,需要多出查找和判断下一条记录的动作唯一索引查询一次性能差...原创 2019-02-26 13:09:26 · 525 阅读 · 0 评论 -
MySQL实战 | 08 懵逼,可重复读好像失效了?
原文地址:事务到底是隔离的还是不隔离的?我们之前学习了隔离级别和锁,在隔离级别里有一个可重复读,锁里有个行锁。可重复读:事务期间,看不懂别的事务的更新;行锁:有事务 1 在更新某行数据时,若有其他事务 2 进来,会被锁住矛盾来了:事务 2 等待结束,获取到行锁时,看到的是哪个数据呢?按可重复读隔离级别来说,看到的应该是事务启动时的最新数据,即事务 1 修改之前的数据;但是这样不就造...原创 2019-02-25 14:53:34 · 1006 阅读 · 0 评论 -
MySQL实战 | 04 为什么要使用索引?
原文链接:MySQL实战 | 为什么要使用索引?用过 MySQL 的应该都知道索引是干啥的吧,应该多少都设置过索引,但是若是问你索引是怎么实现的,你能说上来吗?索引是什么?MySQL 官方对索引的定义为:索引是帮助 MySQL 高效获取数据的数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查...原创 2018-12-10 13:12:53 · 736 阅读 · 0 评论 -
MySQL实战 | 03 - 谁动了我的数据:浅析MySQL的事务隔离级别
原文链接:这一次,带你搞清楚MySQL的事务隔离级别!使用过关系型数据库的,应该都事务的概念有所了解,知道事务有 ACID 四个基本属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),今天我们主要来理解一下事务的隔离性。声明:MySQL专栏学习系列,基本上是本人学习极客时间《MySQL实战45讲》专栏内容的笔记...原创 2018-12-10 13:12:25 · 679 阅读 · 0 评论 -
MySQL实战 | 06/07 简单说说MySQL中的锁
文章目录为什么要有锁?MySQL 的锁管理机制MySQL 的锁执行流程全局锁mysqldump --single-transactionset global readonly=true?注意点表级锁表锁元数据锁(MDL:metadata lock)行锁InnoDB 的行锁死锁更新一条记录时具体什么时候用行锁什么时候是表锁Online DDL 的过程总结原文链接:MySQL实战 | 06/07 简...原创 2018-12-20 12:29:05 · 523 阅读 · 0 评论 -
MySQL | 05 如何设计高性能的索引?
原文链接:MySQL | 05 如何设计高性能的索引?文章目录覆盖索引联合索引/最左匹配原则注意为什么要使用联合索引?索引下推下推过程举例注意事项总结建索引的几大原则上回我们主要研究了为什么使用索引,以及索引的数据结构。今天带你了解如何设计高性能的索引。其中,有这么一个点,说的是 InnoDB 引擎中使用的是聚簇索引,其主索引的实现树中的叶子结点存储的是完整的数据记录,而辅助索引中存储的则...原创 2018-12-14 09:15:21 · 6608 阅读 · 6 评论 -
MySQL实战 | 02-MySQL 如何恢复到半个月内任意一秒的状态?
原文链接:MySQL是如何做到可以恢复到任意一秒状态的?看到这个题目是不是觉得数据库再也不用担心服务器 crash 了?那我们需要学习为什么可以这么做?以及如何做?即为什么可以恢复到任意时间点?如何恢复到任意时间点?为什么有了 binlog 还需要 redo log?事务是如何提交的?事务提交先写 binlog 还是 redo log?如何保证这两部分的日志做到顺序一致性?为了保障主从...原创 2018-12-05 12:33:41 · 1367 阅读 · 0 评论 -
MySQL实战 | 12 为什么我的MySQL会突然变慢?
日常中,也许会遇到这种场景,一条 SQL 语句,正常执行速度很快。但是,有时却变得很慢,而且很难复现,随机性比较高,并且持续时间短,到底是什么情况?之前的文章中,我们说过,MySQL 的每一次更新并没有每次都写入磁盘,InnoDB 引擎会先将记录写到 redo log 里,然后在适当的时候,再把这个记录更新到磁盘。当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据...原创 2019-03-21 16:52:29 · 6172 阅读 · 0 评论