01 2021 档案
Group by 优化
摘要:一个标准的 Group by 语句包含排序、分组、聚合函数,比如 select a,count(*) from t group by a ; 这个语句默认使用 a 进行排序。如果 a 列没有索引,那么就会创建临时表来统计 a和 count(*),然后再通过 sort_buffer 按 a 进行排序。 阅读全文
posted @ 2021-01-29 21:58 萌新J 阅读(1836) 评论(0) 推荐(0)
join 查询优化
摘要:在开发中往往会出现查询多表联查的情况,那么就会用到 join 查询。 Join查询种类 为了方便说明,先定义一个统一的表,下面再做例子。 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) 阅读全文
posted @ 2021-01-28 23:07 萌新J 阅读(1266) 评论(2) 推荐(4)
MySQL 中的临时表
摘要:在使用 explain 解析一个 sql 时,有时我们会发现在 extra 列上显示 using temporary ,这表示这条语句用到了临时表,那么临时表究竟是什么?它又会对 sql 的性能产生什么影响?又会在哪些场景中出现?本文根据 <<MySQL 实战 45 讲>> 学习整理。 出现场景 其 阅读全文
posted @ 2021-01-27 22:13 萌新J 阅读(2988) 评论(2) 推荐(2)
kill 指令的执行原理
摘要:kill 指令有两种写法 " kill query + 线程 id "、" kill connection(可缺省) + 线程 id "。分别表示关闭指定线程正在执行的语句、断开指定线程连接的客户端(如果有正在执行的操作会先停止执行的操作再关闭连接)。但某些情况下使用 kill query 后使用 阅读全文
posted @ 2021-01-18 22:28 萌新J 阅读(1704) 评论(0) 推荐(0)
MySQL 集群知识点整理
摘要:随着项目架构的不断扩大,单台 MySQL 已经不能满足需要了,所以需要搭建集群将前来的请求进行分流处理。博客主要根据丁奇老师的专栏<<MySQL实战45讲>>学习的总结。 架构 MySQL的集群和 Redis 集群类似,都是默认为master 库,可以设置为从库,主库负责处理写请求,从库处理读请求。 阅读全文
posted @ 2021-01-13 21:59 萌新J 阅读(859) 评论(2) 推荐(3)
MySQL 中的WAL机制
摘要:本文主要概括的是 WAL 机制涉及的三种日志,具体与其他组件的联系、执行可查看 一条 sql 的执行过程详解 、MySQL中的事务原理和锁机制 。 是什么 WAL,全称是Write-Ahead Logging, 预写日志系统。指的是 MySQL 的写操作并不是立刻更新到磁盘上,而是先记录在日志上,然 阅读全文
posted @ 2021-01-07 15:49 萌新J 阅读(14536) 评论(4) 推荐(8)
项目开发注意事项
摘要:1、HttpServletRequest 对象是随着请求执行的结束而销毁,所以在父 Controller 里通过存储 HttpServletRequest 对象来存储会话ID sessionId 时应该设置一个Map 容器,不能直接设置一个 HttpServletRequest,因为如果是多个请求去 阅读全文
posted @ 2021-01-04 23:17 萌新J 阅读(86) 评论(0) 推荐(0)
count(*) 优化
摘要:几种获取记录数的方法 count(*): MySQL 优化过,扫描的行数小于总记录数。执行效率高。 count(1): 遍历所有记录,不取值,对每行尝试添加一个 “1” 列,如果不为 null,就计入累加(引擎层)。 count(主键): 遍历所有记录,并把每个记录的 id 取出返回 Server  阅读全文
posted @ 2021-01-04 19:47 萌新J 阅读(757) 评论(0) 推荐(0)