一、 Mysql 索引 1.1 Mysql 如何实现的索引机制? InnoDB 索引与 MyISAM 索引实现的区别是什么? 一个表中如果没有创建索引,那么还会创建 B+ 树吗? 1.2 说一下 B+ 树索引实现原理(数据结构) 聚簇索引与非聚簇索引 B+ 树实现有什么区别? 说一下 B+ 树中聚簇索引的查找(匹配)逻 […]

2022年12月26日 415点热度 Baimi 阅读全文

举个小例子,在学校的信息系统里面,为了减少冗余数据,学生档案(包括姓名、年龄等)和考试成绩(包括考试时间、科目、分数等)是分别存放在不同的数据表里面的,但是,我们经常需要查询学生的考试成绩(包括学生姓名、科目、分数)。这个时候,我们就可以把查询学生考试成绩的这个关联查询,用视图的形式保存起来。这样一来,我们不仅可以从视 […]

2022年12月23日 373点热度 Baimi 阅读全文

当我们遇到一些复杂查询的时候,经常无法一步到位,或者是一步到位会导致查询语句太过复杂,开发和维护的成本过高。这个时候,就可以使用临时表。 下面,我就结合实际的项目来讲解一下,怎么拆解一个复杂的查询,通过临时表来保存中间结果,从而把一个复杂查询变得简单而且容易实现。 临时表是什么? 临时表是一种特殊的表,用来存储查询的中 […]

2022年12月22日 489点热度 Baimi 阅读全文

我们经常会遇到这样的场景:几个相互关联的数据操作,必须是全部执行,或者全部不执行,不可以出现部分执行的情况。比如说,你从微信账号里提现 100 元到银行卡上,这个动作就包括了相互关联的 2 个步骤,首先是微信账号减 100 元,然后是银行卡账号加 100 元(这里假设没有手续费)。假如因为某种异常,这 2 个操作只执行 […]

2022年12月21日 281点热度 Baimi 阅读全文

在我们的超市信息系统刚刚开始运营的时候,因为数据量很少,每一次的查询都能很快拿到结果。但是,系统运转时间长了以后,数据量不断地累积,变得越来越庞大,很多查询的速度就变得特别慢。这个时候,我们就采用了 MySQL 提供的高效访问数据的方法——索引,有效地解决了这个问题,甚至之前的一个需要 8 秒钟才能完成的查询,现在只用 […]

2022年12月20日 277点热度 Baimi 阅读全文

MySQL 提供了很多功能强大,而且使用起来非常方便的函数,包括数学函数、字符串处理函数和条件判断函数等。 在很多场景中 ,我们都会用到这些函数,比如说,在超市项目的实际开发过程中,会有这样的需求: 会员积分的规则是一元积一分,不满一元不积分,这就要用到向下取整的数学函数 FLOOR(); 在打印小票的时候,收银纸的宽 […]

2022年12月19日 250点热度 Baimi 阅读全文

顾名思义,时间函数就是用来处理时间的函数。时间,几乎可以说是各类项目中都会存在的数据,项目需求不同,我们需要的时间函数也不一样,比如: 如果我们要统计一天之中不同时间段的销售情况,就要获取时间值中的小时值,这就会用到函数 HOUR(); 要计算与去年同期相比的增长率,这就要计算去年同期的日期时间,会用到函数 DATE_ […]

2022年12月10日 226点热度 Baimi 阅读全文

MySQL 中有 5 种聚合函数较为常用,分别是求和函数 SUM()、求平均函数 AVG()、最大值函数 MAX()、最小值函数 MIN() 和计数函数 COUNT()。接下来,我就结合超市项目的真实需求,来带你掌握聚合函数的用法,帮你实现高效的分组统计。 咱们的项目需求是这样的:超市经营者提出,他们需要统计某个门店, […]

2022年12月9日 365点热度 Baimi 阅读全文