![](https://img-blog.csdnimg.cn/20191115152233805.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
学习丁奇老师 mysql学习笔记
https://download.csdn.net/download/qq_31821675/12789385
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
SoWhat1412
微信搜索【SoWhat1412】,第一时间阅读原创干货文章。人之患、在好为人师、不实知、谨慎言。点点滴滴、皆是学问、看到了、学到了、便是收获、便是进步。
展开
-
顺丰快递 : 请收下 MySQL 灵魂十连
1、SQL语句执行流程MySQL大体上可分为Server层和存储引擎层两部分。Server层:连接器:TCP握手后服务器来验证登陆用户身份,A用户创建连接后,管理员对A用户权限修改了也不会影响到已经创建的链接权限,必须重新登陆。查询缓存:查询后的结果存储位置,MySQL。80以后已经取消,因为查询缓存失效太频繁,得不偿失。分析器:根据语法规则,判断你输入的这个SQL语句是否满足MySQL语法优化器: 多种执行策略可实现目标,系统自动选择最优进行执行。执行器: 判断是否有权限,将最终任务提交到原创 2020-12-10 10:08:38 · 4407 阅读 · 22 评论 -
MySQL 01、一条SQL插入跟更新执行流程以及日志系统原理
查询如何执行平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个ID字段,在执行下面这个查询语句时:mysql> select * from T where ID=10;我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在MySQL内部的执行过程。如何把这个过程拆解下来看后台部分呢?下面我给出的是MySQL的基本架构示意图,从中你可以清楚地看到SQL语句在MySQL的各个功能模块中的执行过程。大体来说,MySQL可以分为Server层和存储引擎层两部分.原创 2020-08-31 13:42:29 · 11489 阅读 · 1 评论 -
MySQL 02、高频面试点之事务隔离
引言提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这100块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果银行这么整,不就乱了么?这时就要用到事务这个概念了。简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务原创 2020-08-31 15:16:47 · 1250 阅读 · 2 评论 -
MySQL 03、深入浅出索引
引言提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个SQL查询比较慢,分析完原因之后,你可能就会说 给某个字段加个索引吧 之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。索引是数据库系统里面最重要的概念之一,一句话简单来说,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的目录。索引的常见模原创 2020-08-31 17:16:42 · 683 阅读 · 0 评论 -
MySQL 04、全局锁、表锁、行锁
数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL里面的锁大致可以分成**全局锁、表级锁和行锁**三类。这里需要说明的是,锁的设计比较复杂,本文不会涉及锁的具体实现细节,主要介绍的是碰到锁时的现象和其背后的原理。全局锁顾名思义,全局锁就是对整个数据库实例加锁。MySQL提供了一个加全局读锁的方法,命令是Flush tables with read lock (FTWRL原创 2020-08-31 18:33:39 · 786 阅读 · 0 评论 -
MySQL 05、由浅入深理解MySQL MVCC机制
轻松理解MYSQL MVCC 实现机制原创 2017-05-03 18:52:02 · 637 阅读 · 0 评论 -
MySQL 05、MVCC 进阶
前面讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响。但是分享行锁的时候又提到,一个事务要更新一行,如果刚好有另外一个事务拥有这一行的行锁,它又不能这么超然了,会被锁住,进入等待状态。问题是,既然进入了等待状态,那么等到这个事务自己获取到行锁要更新数据的时候,它读到的值又是什么呢?我给你举一个例子原创 2020-09-02 15:17:24 · 1079 阅读 · 2 评论 -
MySQL 06、普通索引和唯一索引如何抉择 为什么有时候选错索引 字符串添加索引建议
普通索引和唯一索引如何抉择 为什么有时候选错索引 字符串添加索引建议原创 2020-09-01 09:29:20 · 663 阅读 · 0 评论 -
MySQL 07、脏页的处理及更新频率 跟 数据库表的空间正确回收
脏页的处理及更新频率原创 2017-07-04 17:03:40 · 615 阅读 · 0 评论 -
MySQL 08、count(*)优化、order by如何工作 、如何正确的随机取数据
策略模式(Strategy Pattern):定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换,策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。策略模式是一种对象行为型模式。 实现某一个功能有多条途径,每一条途径对应一种算法,此时我们可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径。本章我们将介绍一原创 2017-05-05 14:12:27 · 777 阅读 · 0 评论 -
MySQL 09、幻读的定义跟间隙锁的引入 加锁的规则 如何先让业务跑起来
幻读的定义跟间隙锁的引入 加锁的规则原创 2017-07-04 15:36:26 · 1262 阅读 · 0 评论 -
MySQL 09、为什么简单的一行查询也会慢
为什么简单的一行查询也会慢、啥是幻读原创 2018-04-23 16:24:26 · 26161 阅读 · 1 评论 -
MySQL 10、MySQL是怎么保证数据不丢
redo log和binlog保证持久化到磁盘,就能确保MySQL异常重启后,数据可以恢复原创 2017-06-01 16:43:04 · 1495 阅读 · 0 评论 -
MySQL 11、主备一致如何实现 怎么保证高可用 备库并行复制能力
主备一致如何实现 怎么保证高可用 备库并行复制能力原创 2017-05-09 09:58:23 · 610 阅读 · 0 评论 -
MySQL 12、主库crash了咋办 读写分离有哪些坑 怎么判断一个主库出问题了
库crash了咋办 读写分离有哪些坑 怎么判断一个主库出问题了原创 2018-07-17 16:08:03 · 683 阅读 · 0 评论 -
MySQL 13、删库跑路? 为什么有的语句kill不掉?
本文转自:link首先,我们需要知道同步和异步是什么东东,不知道的看详解。 简单来说:【同步】:就是发出一个“调用”时,在没有得到结果之前,该“调用”就不返回,“调用者”需要一直等待该“调用”结束,才能进行下一步工作。【异步】:“调用”在发出之后,就直接返回了,也就没有返回结果。“被调用者”完成任务后,通过状态来通知“调用者”继续回来处理该“调用”。下面我们先来看一个用普通同步代码...原创 2019-09-20 09:17:18 · 650 阅读 · 1 评论 -
MySQL 14、buffer pool 详解 查询大量数据为什么没爆
buffer pool 详解 查询大量数据为什么没爆原创 2019-06-14 14:39:34 · 3443 阅读 · 1 评论 -
MySQL 15、join可以用么吗?如何优化
join可以用么吗?如何优化原创 2019-05-08 20:24:48 · 768 阅读 · 4 评论 -
MySQL 16 、临时表如何用 内部临时表使用 Memory引擎table的取舍
mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法。1、insert ignore2、replace into3、insert on duplicate key update注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用以上三个语句没有意义,与使用单纯的INSERT INTO相同。一、insert ignoreinse...原创 2019-07-23 10:05:32 · 659 阅读 · 1 评论 -
MySQL 17、主键自增为什么无法保证递增性 insert语句的锁为什么这么多
BinLog 迅速了解原创 2018-10-11 16:08:35 · 1106 阅读 · 0 评论 -
MySQL 18、如何快速复制一个表 grant之后要跟着flushprivileges吗
void strcpy(char* dest, const char* src){int i=0;while(src[i]!='\0'){dest[i] = src [i];i++;}dest[i] = '\0';}int strlen(const char* dest){int i=0;while(dest[i]!='\0'){i++;原创 2017-03-03 14:15:17 · 620 阅读 · 0 评论 -
MySQL 21、数据库常见面试题
数据库常见面试题转载 2017-05-04 09:43:38 · 1267 阅读 · 0 评论 -
Linux 安装 MySQL5.7 跟权限管理
Linux安装MySQL5.7原创 2019-08-01 09:46:20 · 486 阅读 · 0 评论 -
数据库迁移
数据库迁移转载 2019-04-23 09:08:43 · 889 阅读 · 0 评论 -
位图索引 BitMap
BitMap 通俗说原创 2017-05-04 10:17:27 · 620 阅读 · 0 评论 -
【MySQL】:查询,索引及优化,高性能存储myCat
文章目录慢查询慢查询配置慢查询解读慢查询工具mysqldumpslowpt_query_digest索引聚簇索引跟非聚簇索引聚簇索引非聚簇索引:覆盖索引(Covering Index)总结:重点执行计划执行计划详解重点 MySQL优化参考慢查询慢查询:顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL...原创 2020-03-06 12:08:35 · 4380 阅读 · 28 评论 -
【MySQL】:架构与存储引擎,锁,事务,设计
文章目录衡量指标TPSQPSMySqlSlapMySQL 架构图连接层1连接层2引擎层解析查询存储层MySQL形象图存储引擎重点MyISAM重点InnoDB存储引擎对比CSVArchiveMemory内存表(Memory)跟临时表(Memory)区别Ferderated锁MyISAM 锁InnoDB 锁事务业务设计逻辑设计范式设计范式化设计优缺点反范式设计反范式化设计优缺点物理设计命名规范存储引擎...原创 2020-03-05 16:08:16 · 3989 阅读 · 19 评论 -
python mymsql sqlalchemy
python 操作数据库有两种方法。1. pymysql方法1. pymysql 模块 import pymysql db = pymysql.connect(user = 'root',password='password',host = '127.0.0.1',database='tmpdb') with db.cursor() as cursor: cursor.exec...原创 2019-03-29 10:16:38 · 483 阅读 · 0 评论