![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
chenyson
一名很“懒”、会养细胞的程序员
展开
-
MySQL索引详解
读书笔记 索引是什么?有什么作用? 索引的优缺点 索引的底层数据结构 索引类型 聚簇索引和非聚簇索引 非聚簇索引一定会回表吗? 创建索引的注意事项原创 2022-01-05 22:18:17 · 528 阅读 · 0 评论 -
MySQL三大日志
日常读书笔记 binlog 归档日志 逻辑日志 redo log 重做日志 物理日志 undo log 回滚日志原创 2022-01-05 22:02:30 · 356 阅读 · 0 评论 -
一条 SQL 语句在 MySQL 中如何被执行的?
日常读书笔记原创 2022-01-05 22:00:14 · 493 阅读 · 0 评论 -
InnoDB存储引擎对MVCC的实现
日常读书笔记 一致性非锁定读和锁定读(当前读) InnoDB对MVCC的实现 RC和RR隔离界别下MVCC的差异 MVCC解决不可重复读问题 RR情况下,MVCC+Next-key-lock解决可重复读当前读的幻读原创 2022-01-05 21:47:52 · 76 阅读 · 0 评论 -
MySQL高性能优化规范建议
日常读书笔记 数据库命令规范 数据库基本设计规范 数据库字段设计规范 索引设计规范 数据库SQL开发规范 数据库操作行为规范原创 2022-01-05 21:40:46 · 348 阅读 · 0 评论 -
redis笔记
–前提:环境搭建在远程服务器上 nosql概述 为什么要用nosql 1.单机MySQL时代 问题: 一个基本的网站数据访问量基本不会太大,单个数据库完全够用 那个时候,更多的去使用静态网页html -服务器根本没有太大的眼里 思考以下:这种情况下,整个网站瓶颈是什么? 1.数据量如果太大,一个机器放不下 2.数据的索引(B+),一个机器内存也放不下 3.访问量(读写混合),一个服务器承受不了 只要你开始出现以上三种情况之一,那么你就必须要晋级。 2.Memcached + Mysql + 垂直拆分(读写原创 2021-12-20 16:16:04 · 257 阅读 · 0 评论 -
MySQL order by 是怎么工作的?
日常读书笔记 全字段排序 语句 执行流程 问题 总结 rowid排序 语句 执行流程 优点 缺点 建议 如果MySQL担心内存太小,才会选择 rowid 如果MySQL认为内存足够大,优先选择全字段排序 MySQL的设计思想 如果内存够,就尽量多利用内存,尽量减少磁盘访问 那是不是所有的order by都需要在sort_buffer中排序? 答案:不是 联合索引 执行流程 优化答案 联合索引覆盖所有的查询字段,减少一次回表,但是占内存,得维护 ...原创 2021-12-18 22:00:53 · 526 阅读 · 0 评论 -
MySQL count(*)这么慢,我该怎么办?
日常读书笔记 count(*)的实现方式 不同MySQL引擎有不同的实现方式 MyISAM InnoDB 总的来说 问题 小结 MyISAM InnoDB 那该如何解决? 用缓存系统保存计数? 用redis服务来保存这个表的总行数 缺陷 用数据库保存计数 方法 能否解决redis中的缺陷 ...原创 2021-12-18 21:49:29 · 311 阅读 · 0 评论 -
MySQL 为什么表的数据删除一般,表文件大小不变?
日常读书笔记 前提------针对InnoDB引擎 InnoDB表结构 为什么删除一半,表的大小不变? 参数 数据删除的流程 数据页的复用和表的复用不一致,因为结构是B+树,有序,删除过程会造成空洞 不止删除,插入也会造成空洞 结论:大量增删改操作的表,都是可能存在空洞的 那要怎么做才能删除干净呢? 本质----去除B+树上的空洞 重建表 1.新建跟A结构一样的表格 2.按主键递增的顺序,把数据一行一行读出来后插入到B中,并把B当成临时表(此时如果有对A插入等操作,直接对B进行操作) 3.原创 2021-12-18 21:43:08 · 512 阅读 · 0 评论 -
MySQL 为什么我的MySQL会“抖一下“?
刷脏页详细的知识点,想了解的可以大概看一下框架。原创 2021-12-18 21:02:20 · 299 阅读 · 0 评论 -
MySQL 怎么给字符串字段加索引?
给字符串字段加索引的简单介绍,方便快捷,条例清晰!适合面试回答问题。原创 2021-12-18 20:54:45 · 169 阅读 · 0 评论 -
MySQL MySQL为什么有时候会选错索引?
选错索引的案例 server层优化器的逻辑 主要工作 选择索引 扫描行树判断 选错索引的解决方案 索引选择异常和处理原创 2021-12-16 20:46:43 · 44 阅读 · 0 评论 -
MySQL 唯一索引和普通索引该如何选择?
日常读书笔记原创 2021-12-15 23:11:56 · 50 阅读 · 0 评论 -
MySQL 事务到底是隔离还是不隔离?
日常读书笔记 mysql里两个视图的概念 一致性视图 没有物理结构 快照 以重复读为例,一致性视图有哪些? 实现 - Innodb为每个事务都构造了一个数组 - 数组和高水位组成了一致性视图 更新数据都是先读后写- 都是当前读[上个事务更新完马上提交] 如果当前的记录被其他他事务占用,则需要进入锁等待 ...原创 2021-12-15 23:10:13 · 637 阅读 · 0 评论 -
MySQL 行锁功过:怎么减少行锁对性能的影响
日常读书笔记 行锁 实现 两段锁 如果同时对同一行数据操作的事务很多,mysql可能就挂了 死锁和死锁检测 什么是死锁 死锁的四个必要条件 发生死锁时的两种策略 - 直接等待,直到超时 - 发生死锁检测 例子:如果所有事务都要更新同一行的场景(秒杀) ...原创 2021-12-15 23:05:36 · 650 阅读 · 0 评论 -
MySQL 全局锁和表锁
日常读书笔记 全局锁 含义和命令行 典型使用场景 注意点 问题:备份一定要加锁吗? 问题:既然备份不一定要加锁,那全局锁存在的意义是什么? 表级锁 表锁 命令行 所释放时机 锁时的具体细节 元数据锁 不需要显示调用,系统自动追加 作用 注意点 业务遇到的坑 给小表加个字段需要怎么做? 如果需要变更一个热点表,数据量不大,但请求频繁? 两段锁协议 ...原创 2021-12-14 23:14:59 · 1655 阅读 · 0 评论 -
MYSQL 深入浅出索引(下)
日常读书笔记 区间查询的流程 覆盖索引出现的原因 联合索引以及最左前缀原则 索引下推原创 2021-12-14 22:20:11 · 202 阅读 · 0 评论 -
MySQL 深入浅出索引(上)
日常读书笔记 索引的作用 索引的常见类型 InnoDB的索引模型 索引维护原创 2021-12-13 22:48:52 · 62 阅读 · 0 评论 -
MySQL 事务隔离
日常读书笔记 什么是事务? M有ISAM被InnoDB取代的重要原因之一 隔离性和隔离界别 事务隔离的实现 基于事务的建议 事务的启动方式 ![在这里插入图片描述](https://img-blog.csdnimg.cn/dcf01a7edc174a90a23c3543d635e8e5.png?x-oss-process=image/watermark,t ype_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAY2hlbnlzb24=,size_20,color_FFFFF原创 2021-12-13 22:46:41 · 295 阅读 · 0 评论 -
Mysql 基本框架 select的全过程
日常读书笔记原创 2021-12-12 21:00:07 · 1140 阅读 · 0 评论 -
Mysql 日志系统 redo log 和 binlog
日常读书笔记mysql篇章原创 2021-12-12 20:58:51 · 168 阅读 · 0 评论