![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 87
勇敢的菜鸡
一只菜鸡的隐秘角落
展开
-
Mysql锁机制 - 各种SQL语句的加锁方式
各种SQL的加锁方式原创 2022-10-22 16:19:45 · 2429 阅读 · 1 评论 -
Mysql锁机制 - 锁类型
Innodb各种锁类型介绍原创 2022-10-16 18:36:36 · 630 阅读 · 0 评论 -
MySQL监控指标
近期在做平台压测,在分析压测结果时,发现很多MySQL监控指标不太熟悉,也了解了一些,本篇笔记记录一下Server Status VariableMySQL服务端维护了很多状态值,用以监控MySQL的运行状态,官方参考文档引用链接这里记录下常用的一些状态量Com_xxx官方解释The Com_xxx statement counter variables indicate the number of times each xxx statement has been executed. For原创 2021-09-29 22:49:09 · 640 阅读 · 0 评论 -
MySQL杂谈
好记性,不如烂笔头!!! 统一记录日常了解到的关于MySQL性能问题explain详情每次用explain的时候,总要搜一下各个字段的含义,烦死.explain来分析sql语句的执行行为,主要输出几个字段:id: 选择标识符select_type: 查询类型,你这个查询时简单查询SIMPLE? 还是联合查询Union?Simple:简单查询Primary: 子查询中最外层查询的类型为PrimaryUnion: Union语句中后一个selectSubquery: 子查询table原创 2021-05-13 20:56:09 · 110 阅读 · 0 评论 -
MySQL日志详解 - Undo/Redo/Binlog
Undo logredo logbinlog原创 2021-05-05 23:24:40 · 203 阅读 · 0 评论 -
MySQL学习笔记二:索引原理
索引类型聚簇索引(主键索引)数据存储在主键索引中数据按主键顺序存储主键: 自增、有大小、随机大小二级索引除主键索引以外的索引都是二级索引叶子中存储主键值(PK)一次查询需要走两遍索引一次通过二级索引(B+树)找到主键(PK)再通过聚簇索引(主键索引)通过主键找到数据主键大小会影响索引大小如果主键比较大,则所有的索引都会比较大(因为主键是放到二级索引的data区)二级索引记录索引和主键的对应关系(索引的data值为主键PK)联合索引key由多个字段组原创 2021-04-16 14:46:38 · 105 阅读 · 0 评论 -
MySQL排他锁使用案例
背景在开发业务需求时,发现一个线上存在的并发问题。具体场景如下:**数据表t1:**字段简化为id, aid, tag_id, remark, 存在唯一索引ux_aid_tag_id, 其中,aid表示一个稿件信息,tag_id表示该稿件信息关联的标签id,一个稿件可以对应多个标签,remark则表示该稿件和标签关联的备注信息**数据更新场景:**一次接口请求,payload提供一个aid和其绑定的标签tag_remark_list(记为A),形如[{tag_id: 1, remark: "xx"}原创 2021-04-16 11:43:28 · 779 阅读 · 0 评论 -
MySQL学习笔记一:InnoDB存储原理
InnoDB存储原理页(Page)页(page): Innodb 分配内存、内存加载都是以页为单位。页大小固定: 16kB页内变长数据: 最大768B,超过使用溢出页。因此根据每条数据的大小(varchar),数据大(不会超过768B)则每页数据少些,数据小则每页多些页的组成[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-COZl1D6s-1617037506868)(https://raw.githubusercontent.com/Derrick-Liu/M原创 2021-03-30 01:06:42 · 192 阅读 · 0 评论 -
MySQL集群迁移方案
背景最近业务主库由于磁盘存储不够,需要对MySQL进行扩容;其实扩容的主要工作都在DBA侧,业务侧更多是配合DBA确定业务是否稳定,以及进行服务重启;这篇笔记,一是学习MySQL的平滑迁移方案,二是,从MySQL的迁移中,学习的对业务开发中的一些小小建议MySQL迁移中存在的问题我们业务生产环境是通过域名方式连接MySQL集群,使用“一主三从”的集群架构,读写分离通过业务侧自己使用不同域名区分;整个集群迁移方案,分为以下几步:新集群节点创建新节点加入集群,作为slave,同步老集群master原创 2021-06-27 23:32:20 · 774 阅读 · 0 评论 -
MySQL Join详解
背景最近有很多业务查询需要用到连表join,由于数据量都不是很大,而且肉眼可见的生命周期内,也没有需要分布式分库分表的可能性,故而仍然直接使用了join语句进行数据查询,但是在我印象中,出现过很多不建议使用join的声音,大概都出于两个原因,Join涉及连表,查询效率低Join不利于分布式的数据库/表设计因此,想深入探讨下,join对于数据查询中的可行性Join原理名词说明驱动表:连表中先查询的表,通常是from后的那个表被驱动表:被连接的表,通常是join后的表select *原创 2021-06-06 18:14:44 · 879 阅读 · 2 评论 -
MySQL学习笔记五:内存管理
预分配内存空间数据以页为单位加载到内存数据内外存交换技术点内存池内存页面管理页面映射: 磁盘每页数据 -> 内存哪块空间, 通过图中的page_hash(页面位置哈希表)记录对应关系 * 页面数据管理:空闲页: Free List链表, 记录内存中的空闲页使用页: LRU List链表, LRU 链表记录内存中的使用页脏页: Flush List链表,记录内存中的脏页数据淘汰页面管理空闲页数据页脏页页面淘汰LRU(least recentl.原创 2021-04-16 15:16:07 · 166 阅读 · 0 评论 -
MySQL学习笔记四:锁机制
原创 2021-04-16 15:14:04 · 462 阅读 · 0 评论 -
MySQL学习笔记三:事务机制
事务特性A(Atomicity 原子性): 一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性C(Consistency 一致性): 事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处于一致性状态。I(Isolation 隔离性): 事务的隔离性是指在并发环境中,并发的事务时相互隔离的,一个事务的执行不能不被其他事务干扰D(Durability 持久性): 一旦事务提交,那么它对数据库中的对应数据的状态的变更就会永久原创 2021-04-16 15:10:04 · 106 阅读 · 0 评论