MySQL
文章平均质量分 91
晓呆同学
Java软件工程师
展开
-
MySQL存储引擎InnoDB和MyISAM的区别
1、InnoDB 和 MyISAM 存储引擎的区别;2、InnoDB 存储引擎的索引实现;3、MyISAM 存储引擎的索引实现;4、MyISAM 和 InnoDB 引擎中 count(*) 的实现方式;5、InnoDB 引擎中行级锁的优缺点;6、MyISAM 和 InnoDB 引擎适合场景原创 2021-01-10 01:33:20 · 598 阅读 · 2 评论 -
MySQL事务隔离级别以及脏读、幻读、不可重复读示例
1、脏读、幻读、不可重复读示例;2、MySQL中的四种事务隔离级别原创 2021-01-02 00:26:28 · 5590 阅读 · 30 评论 -
MySQL中count(*)函数原理详解
MyISAM 引擎 和 InnoDB 引擎中 count(*) 的实现方式、 count(*) 的优化、count(*)、count(1)、count(列名)之间的区别原创 2020-12-18 22:44:26 · 2584 阅读 · 0 评论 -
MySQL联合索引与索引下推图文详解
联合索引的树结构、最左匹配原则、如何选择合适的索引列顺序、索引下推图文讲解原创 2020-12-11 00:19:29 · 3672 阅读 · 15 评论 -
MySQL分页查询越来越慢?是时候该优化了!
查询时 MySQL 并不是跳过 OFFSET 行,而是取 OFFSET+N 行,然后放弃前 OFFSET 行,最后返回 N 行,当 OFFSET 特别大的时候,效率就非常的低下。原创 2020-12-09 13:42:49 · 7680 阅读 · 3 评论 -
MySQL执行计划Explain详解
看懂 EXPLAIN 语句的各个输出项,将帮助我们了解 MySQL 优化器是如何工作的,从而可以有针对性的来提升我们查询语句的性能。建议大家收藏。原创 2020-12-06 23:59:05 · 272 阅读 · 0 评论 -
详解MySQL回表查询与索引覆盖
前言 InnoDB引擎中,B+树索引可以分为聚簇索引和辅助索引两大类。在介绍 “回表” 和 “索引覆盖” 之前,我们先来了解一下这两个概念。聚簇索引 聚簇索引也叫聚集索引,它并不是一种单独的索引类型,在聚簇索引的叶子页中,保存了整张表的行数据信息,所以也将聚簇索引的叶子节点称为数据页。 名词 “聚簇” 表示数据行和相邻的键值紧凑的存储在一起。因为不能同时把数据行存储在两个不同的地方,所以一个表只能有一个聚簇索引。InnoDB选取聚簇索引的规则如下:如果表中定义了主键,则主键为聚簇索引;原创 2020-11-26 20:47:25 · 1353 阅读 · 0 评论 -
MySQL中一条查询SQL语句是怎么执行的
1. 客户端跟服务端建立连接... 2. 检查查询缓存... 3. 分析器进行 “词法分析” 和 “语法分析” ... 4. 优化器生成一个最优的执行计划... 5. 执行器调用存储引擎的API来执行查询... 6. 将查询结果返回给客户端...原创 2020-11-16 11:37:29 · 225 阅读 · 3 评论 -
MySQL逻辑架构图分析
大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server层:大多数MySQL的核心服务功能都在这一层,包括连接器、查询缓存、分析器、优化器、执行器等存储引擎层:存储引擎负责MySQL中数据的存储和提取。原创 2020-11-16 11:33:27 · 846 阅读 · 0 评论 -
MySQL 优化 index merge(索引合并)引起的死锁分析
生产环境出现死锁流水,通过查看死锁日志,看到造成死锁的是两条一样的update语句(只有where条件中的值不同),如下:UPDATE test_table SET `status` = 1 WHERE `trans_id` = 'xxx1' AND `status` = 0;UPDATE test_table SET `status` = 1 WHERE `trans_id` = 'xxx2' AND `status` = 0;一原创 2020-10-24 23:54:23 · 1999 阅读 · 6 评论