MySQL
欧阳丰
欢迎加入我的Java架构预备营:749151405
展开
-
神奇的 SQL,为什么 GROUP BY 之后不能直接引用原表中的列,原来是这样!
推荐阅读: 这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试 毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题 最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点 GROUP BY 后 SELECT 列的限制 标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、AVG 等)、常量。我们来看个例子 我们有 学生班级表(tb原创 2020-08-24 10:59:52 · 203 阅读 · 0 评论 -
超牛的MySQL索引知识点详解,不用再去找别的了
数据库索引,相信大家都不陌生吧。 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。作为辅助查询的工具,合理的设计索引能很大程度上减轻db的查询压力,db我们都知道,是项目最核心也是最薄弱的地方,如果压力太大很容易产生故障,造成难以预计的影响。所以,不管是日常开发还是面试,索引这一块知识体系都是必须掌握的。 当然,虽说是必须掌握,但索引的知识点很多,很多初学者经常会遗漏,这也是我为什么想写这篇知识点总结的原因,既是给读者的分享,也是给自己一次全面的复习,希望对你们.原创 2020-07-21 11:35:46 · 191 阅读 · 0 评论 -
面试高频:Mysql和Redis数据同步该怎么做?
推荐阅读: 这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试 毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题 最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点 为什么对缓存只删除不更新 不更新缓存是防止并发更新导致的数据不一致。 所以为了降低数据不一致的概率,不应该更新缓存,而是直接将其删除, 然后等待下次发生cache miss时再把数据库中的数据同步到缓存。 先更新数据库还是先删除缓存? 有两个选择: 1. 先删除原创 2020-06-26 20:59:51 · 468 阅读 · 0 评论 -
从MySQL优化的角度来看:数据库回表与索引
回表的概念 先得出结论,根据下面的实验。如果我要获得[‘liu’,‘25’]这条记录。需要什么步骤。 1.先通过[‘liu’]记录对应到普通索引index(name),获取到主键id:4. 2.再通过clustered index,定位到行记录。也就是上面说的这条[‘liu’,‘25’]记录数据。 因此,上述就是说的回表查询,先定位主键值,再定位行记录。多扫了一遍索引树。 当然,也就多耗费了CPU,IO,内存等。 1.stu_info表案例 create table stu_info ( id int原创 2020-05-27 17:27:50 · 255 阅读 · 0 评论 -
给我一分钟,让你彻底明白MySQL聚簇索引和非聚簇索引
MySQL的InnoDB索引数据结构是B+树,主键索引叶子节点的值存储的就是MySQL的数据行,普通索引的叶子节点的值存储的是主键值,这是了解聚簇索引和非聚簇索引的前提 什么是聚簇索引? 很简单记住一句话:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,所以主键就是聚簇索引,修改聚簇索引其实就是修改主键。 什么是非聚簇索引? 索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需要根据索引上的值(主键)再次回表查询,非聚簇索引也叫做辅助索引。 clustered index(MySQL官原创 2020-05-22 17:57:03 · 251 阅读 · 1 评论 -
MySql何时用MyISAM何时用InnoDB
MyISAM和InnoDB是MySQL提供的两种搜索引擎 MyISAM和InnoDB的区别 ①InnoDB支持事务与外键和行级锁,MyISAM不支持(最主要的差别) ②MyISAM读性能要优于InnoDB,除了针对索引的update操作,MyISAM的写性能可能低于InnoDB,其他操作MyISAM的写性能也是优于InnoDB的,而且可以通过分库分表来提高MyISAM写操作的速度 ③MyISAM的...转载 2019-09-11 16:27:15 · 362 阅读 · 0 评论 -
MySQL索引原理及BTree(B-/+Tree)结构详解
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。 文章主要内容分为三个部分。 第一部分...转载 2019-09-11 17:22:14 · 427 阅读 · 0 评论