首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
MySQL
JavaEdge在掘金
创建于2021-11-01
订阅专栏
MySQL
等 8 人订阅
共26篇文章
创建于2021-11-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
MySQL 的 Memory存储引擎还有意义吗?
两个group by 语句都用了order by null,为什么使用内存临时表得到的语句结果里,0这个值在最后一行;而使用磁盘临时表得到的结果里,0这个值在第一行? 内存表的数据组织结构 示例表 插
MySQL行锁的最佳实践
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情 1 前言 MySQL的行锁是在引擎层实现: MyISAM不支持行锁,其并发控制只能用表锁,对于这种引擎
SQL里进行分组的时候,如何才能使用索引?
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第32天,点击查看活动详情 group by是否能用索引呢?有时做个group by把数据分组,接着用count、sum之类的聚合函
MySQL索引设计原则
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第31天,点击查看活动详情 刚设计完表,我咋知道未来会怎么查询表?表设计完后,先不急设计索引,确实你根本还不知道要怎么查表。 该正式
MySQL回表的性能伤害有多大?
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情 1 回表的性能消耗 无论单列索引 or 联合索引,一个索引就对应一个独立的B+索引树,索引树节点仅包含:
Index Merge Optimization是什么?
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情 索引合并访问方法查询多个范围扫描的行,并将其结果合并为一个。 这种访问方式仅限于单个表中的索引扫描,而非
一个表中索引的数量是不是越多越好?
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第24天,点击查看活动详情 往InnoDB表新增数据时,都会基于主键给自动建立聚簇索引。 随着我们不停的在表里插入数据,会不停的在数
多表关联查询的SQL执行原理
平时大多是执行单表查询,通常你把索引建好,让他尽可能走索引,性能都没问题。但其实也有不少的多表关联语句,因为有时查找目标数据,不得不借助多表关联的语法,才能实现你想要但使用多表关联的时候,你的SQL性
MySQL聚簇索引物理结构及主键查询过程
数据页分裂的过程,在你不停往表里灌入数据时,会搞出来一个个数据页,若你的主键非自增,他可能会有一个数据行挪动过程,保证你下一个数据页的主键值都大于上一个数据页的主键值。 假设有多个数据页,然后根据主键
更新数据时,MySQL的聚簇索引如何变化?
搜索一个主键id对应的行,先去顶层的索引页88里通过二分查找,定位到你应该去下层哪个索引页里继续找。 若现在定位到下层的索引页35,此时在索引页35里也有一些索引条目,分别都是下层各索引页(20、2
MySQL如何加锁避免并发事务导致的脏写?
多个事务同时并发更新一行数据时, 就有脏写问题。脏写绝对不允许,可依靠锁机制让多个事务更新一行数据的时候串行化,避免同时更新一行数据。 有个事务要来更新一行数据,他会先看这行数据有没有人加锁?看到没人
线上MySQL不可用,报错数据库无法连接该如何解决?
ERROR 1040(HY000): Too many connections:DB连接池里已有太多连接,不能再和你建立新连接。 数据库自己有个连接池,你的每个系统部署在机器时,那台机器上部署的系统实
图解MySQL(5)-Buffer Pool的flush链表
1 内存碎片 1.1 啥是BP的内存碎片? BP划分完全部缓存页和描述信息块后,还剩点内存,但却再也放不下新的缓存页。 1.2 如何减少内存碎片? DB在BP中划分缓存页时,会让所有缓存页和描述信息块
MySQL的各种语句是如何加锁的?
间隙锁再加上行锁,很容易在判断是否会出现锁等待的问题上犯错。间隙锁在可重复读隔离级别下才有效,本文默认可重复读。原则1 加锁的基本单位是next-key lock,前开后闭原则2 查找过程中访问到的对象才会加锁优化1 索引上的等值查询,给唯一索引加锁时,next-key lock...
MySQL存储引擎与适用场景详解
这种高效的模块化体系结构为那些希望专门针对特定应用程序需求(例如数据仓库,事务处理或高可用性情况)的用户提供了巨大的好处,同时享有利用独立于任何一个的一组接口和服务的优势存储引擎。 MySQL服务器体系结构将应用程序开发者和DBA与存储级别的所有底层实现细节隔离,从而提供了一致且...
一文看懂这篇MySQL的锁机制
1.1.1.1.1.2.可见,对MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求; 对MyISAM表的写操作,则会阻塞其他用户对同一表的读和写请求; MyISAM表的读和写操作之间,以及写和写操作之间是串行的!(当某一线程获得对一个表的写锁后,只...
我是如何一步步让公司的MySQL支撑亿级流量的
大部分互联网业务都是读多写少,因此优先考虑DB如何支撑更高查询数,首先就需要区分读、写流量,这才方便针对读流量单独扩展,即主从读写分离。
MySQL的change buffer是啥?|Java 开发实战
本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接 基本概念 change buffer是一种特殊的数据结构,当这些页面不在缓冲池中时,这些高速缓存会将更改缓存到辅助索引页面。
和产品争论MySQL底层如何实现order by的,惨败!
这天风和日丽,小a正在工位上苦练钓鱼技术,突然接到产品的☎️,又来需求?只听到产品又开始口若黄河:我需要要查询到city是“上海”的所有人的name,并且还要按name排序返回前1000人的name、
工作十年还分不清MySQL普通索引和唯一索引怎么办?
普通索引可重复,唯一索引和主键一样不能重复。 唯一索引可作为数据的一个合法验证手段,例如学生表的身份证号码字段,我们人为规定该字段不得重复,那么就使用唯一索引。(一般设置学号字段为主键) 主键保证数据库里面的每一行都是唯一的,比如身份证,学号等,在表中要求唯一,不重复。唯一索引…
下一页