2023-03-31
温故知新
00

简介

自己搭建Spring相关开发框架时,时常需要了解Springboot、SpringCloud、SpringAlibabaCloud的对应关系。

本文用于记录已知的对应关系。

2023-03-30
班门弄斧
00

简介

本文转载自【树哥聊编程】微信公众号,作者:陈树义,原文链接:https://mp.weixin.qq.com/s/zlWVJrzSeIFr7f2X5H78Dg

当你的数据里只有几千几万,那么 SQL 优化并不会发挥太大价值,但当你的数据里去到了几百上千万,SQL 优化的价值就体现出来了!因此稍微有些经验的同学都知道,怎么让 MySQL 查询语句又快又好是一件很重要的事情。要让 SQL 又快又好的前提是,我们知道它「病」在哪里,而 explain 关键字就是 MySQL 提供给我们的一把武器!

在我们所执行的 SQL 前面加上 explain 关键字,MySQL 就不会真正去执行这条语句,而是模拟优化器执行 SQL 查询语句,最后会输出一系列的指标告诉我们这条语句的性能如何,如下所示。

sql
mysql> explain select * from student where id = 1 \G ****************************************************** id: 1 select_type: SIMPLE table: subject partitions: NULL type: const possible_keys: PRIMARY key: PRIMARY key_len: 4 ref: const rows: 1 filtered: 100.00 Extra: NULL ******************************************************

总的来说,explain 关键字可以告诉我们下面这么多信息:

  1. 表的读取顺序如何
  2. 数据读取操作有哪些操作类型
  3. 哪些索引可以使用
  4. 哪些索引被实际使用
  5. 表之间是如何引用
  6. 每张表有多少行被优化器查询 ......

今天,我们就来介绍 explain 关键字的各个指标的含义。系好安全带,准备发车了!

为了方便讲解,这里新建了几张表,并初始化了一些数据(建表语句见附录)。这些表的关系如下:

  • 一共有老师、学生、课程三个实体,分别为:teacher、student、course。
  • 三个实体间的关系分别为:老师教学生的关系(teacher_student)、学生的课程分数(student_course)。
2023-03-30
班门弄斧
00

简介

本文以vuepress-theme-hope项目为例,介绍使用Github-Actions将网站自动部署到gh-pages分支的方法。 gh-pages分支的方法。

2023-03-29
藏龙卧虎
00
xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.demo.dao.DemoDao"> <select></select> <insert></insert> <update></update> <delete></delete> </mapper>
2023-03-29
温故知新
00

简介

对于大火ChatGPT,个人感觉在有些问题上,他看起来很厉害,但在另一些问题上,他好像总是给出一些看起来很对的错误结论。

本文以ChatGPT来讨论@RequiredArgsConstructor(onConstructor_ = @Autowired)为例,看看他是有多么的 能说会道