随笔分类 -  MySQL

摘要:一. MySQL 的逻辑架构图 二. 对比各种count方法(以Innodb为例) 1.count(*) a). InnoDB存储引擎遍历整张表,但不取值。server 层对于返回的每一行,不判断是否为空,直接按行累加。 2. count(1) a). InnoDB存储引擎遍历整张表,但不取值。se 阅读全文
posted @ 2022-01-10 19:41 阅读(172) 评论(0) 推荐(0) 编辑
摘要:一. 修改自增长字段值 自增长起始值修改只能比原来更大,不能更小 alter table testid auto_increment=100; 二. 事务 1. 隔离级别 查看事务隔离级别:show variables like 'transaction_isolation'; 默认值:('tran 阅读全文
posted @ 2021-10-15 10:38 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一. 背景 1. MySQL怎样选择索引? Server层的优化器决定使用哪个索引 根据语句扫描的行数、是否排序、是否存在临时表来判断选择哪个索引 2. Candinality 一个索引上不同值的个数,称为"基数",即Candinality。基数越大,索引的区分度越好 MySQL 在真正开始执行语句 阅读全文
posted @ 2021-09-29 12:38 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一. 代码说明 二. 问题 三. 原因分析 四. 解决方案 一. 代码说明 M2方法的预期作用是根据id值(主键)加行锁,整个方法放在事务中执行 M1方法调用M2方法 public class C { public void M1() { this.M2(); } @Transactional pu 阅读全文
posted @ 2021-05-26 12:06 阅读(99) 评论(0) 推荐(0) 编辑
摘要:一. 背景 表数据大概几十万,不到五十万 每隔10几分钟使用truncate清空数据,然后再写入等量数据 数据库主从结构 数据库版本5.7 二. 现象 执行truncate时从库偶发抛异常【System Lock】,非必现。占用线程资源,导致后续SQL语句全部阻塞 从库不可用,进而导致路由到该从库的 阅读全文
posted @ 2021-05-06 14:25 阅读(628) 评论(0) 推荐(0) 编辑
摘要:一. 长事务原因 1. set autocommit=0 这个命令会关闭当前线程的事务自动提交功能 意味着如果只执行一个 select 语句,这个事务就启动了,并且不会自动提交。 这个事务持续存在直到主动执行 commit 或 rollback 语句,或者断开连接。如果是长连接,就导致了长事务。 有 阅读全文
posted @ 2021-04-23 17:34 阅读(855) 评论(0) 推荐(0) 编辑
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL 阅读全文
posted @ 2021-04-20 17:29 阅读(83) 评论(0) 推荐(0) 编辑
摘要:一. Mybatis-Plus配置输出SQL语句 1. 原理 使用PerformanceInterceptor拦截器的intercept()方法输出SQL语句 2. 步骤 2.1 配置文件新增 mybatis-plus: configuration: log-impl: org.apache.iba 阅读全文
posted @ 2021-03-02 12:18 阅读(1671) 评论(0) 推荐(0) 编辑
摘要:数据库中的三种锁 1. 写锁(Write Lock,也叫做排他锁 eXclusive Lock,简写为 X-Lock) 只有持有写锁的事务才能对数据进行写入操作,数据加持着写锁时,其他事务不能写入数据,也不能施加读锁。(不能读写) 2. 读锁(Read Lock,也叫做共享锁 Shared Lock 阅读全文
posted @ 2021-01-05 20:09 阅读(95) 评论(0) 推荐(0) 编辑
摘要:一. 表信息 select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024, 2) as '数据容量(MB)', truncate(index_length/ 阅读全文
posted @ 2020-10-26 12:15 阅读(350) 评论(0) 推荐(0) 编辑