MySQL慢查询日志(Slow Query Log)
pren 发布于 2021-10-29
慢查询日志用来记录执行时间超过指定时长的查询。它的主要作用是:帮助我们发现那些执行时间特别长的 SQL 查询,并且有针对性地进行优化,从而提高系统的整体效率。 业务场景 当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。 场景解...
阅读(2214)评论(0)赞 (0)
pren 发布于 2021-10-29
慢查询日志用来记录执行时间超过指定时长的查询。它的主要作用是:帮助我们发现那些执行时间特别长的 SQL 查询,并且有针对性地进行优化,从而提高系统的整体效率。 业务场景 当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。 场景解...
阅读(2214)评论(0)赞 (0)
pren 发布于 2021-10-29
通用查询日志记录了所有用户的连接开始时间和截止时间,以及发给 MySQL 数据库服务器的所有 SQL 指令。 业务场景: 当我们的数据发生异常时,开启通用查询日志,还原操作时的具体场景,可以帮助我们准确定位问题。 场景1:12 月 1 日下午,门店的收银台销售了 5 件化妆品,但...
阅读(2121)评论(0)赞 (0)
pren 发布于 2021-10-29
(1)在逻辑层⾯上,数据通常以表(table)的形式展示,但是体现在具体存储的物理层⾯上,在磁盘存的数据是以数据⻚的⽅式⼀⻚⼀⻚存储的,每个数据⻚含有多⾏数据。 (2)InnoDB存储引擎中,通过free链表可以查看到当前内存中、哪些缓存⻚是空闲的,即可直接拿来存放新的数据;⽽此...
阅读(2102)评论(0)赞 (0)
pren 发布于 2021-10-29
mysql预读机制可能会扰乱我们之前设想的lru链表的处理逻辑。当⼀个数据⻚被加载到缓冲池中时,可能顺带会把其他⽆关紧要的数据⻚也加载到缓冲池中,这些顺带加载到内存的数据⻚,它们往往被访问的频率是⾮常低的,但是由于lru链表的特点,新加⼊的总是会优先被排在lru的链表头,导致这些...
阅读(4974)评论(2)赞 (0)
pren 发布于 2021-10-28
经过磁盘数据如何加载到mysql中以及在InnoDB中执⾏更新操作流程执⾏了⼀段时间后,直到InnoDB缓冲池中的内存即将不够⽤了,此时如果再来⼀条sql语句的更新操作,要想成功把磁盘中的数据加载到缓存⻚中,就需要先清理下内存中的缓存⻚了。 通过之前提到的lru链表,可以找到lr...
阅读(1242)评论(0)赞 (0)
pren 发布于 2021-10-28
磁盘数据如何加载到mysql中,此时我们需要的数据已经从磁盘中加载到缓冲池中了,下⼀步当然就是执⾏更新操作了: 先对需要更新的那⾏数据加锁、原始数据写⼀份到redo log中便于可能的回滚操作、执⾏update操作,此时缓存⻚的数据就被更新了,当然就和磁盘中的数据⻚的数据就不⼀致...
阅读(736)评论(0)赞 (0)
pren 发布于 2021-10-28
⼀般我们要更新⼀条数据,数据⼀开始肯定是存放在磁盘中的,⽤到时才会被加载到mysql,存放的数据在逻辑概念上我们称为表,物理层⾯上在磁盘中是按数据⻚形式存放的,那么加载到mysql中的就称为缓存⻚。 每个缓存⻚都有对应的⼀份描述信息,存放了缓存⻚的⼀些元数据相关的⼀些信息,通过描...
阅读(1463)评论(0)赞 (0)
pren 发布于 2021-10-18
链接: https://pan.baidu.com/s/1kt1c_ldbX5XM96kBBdz1IQ 提取码: spb6 1、双击安装navicat120_mysql_cs_x64.exe完成后 2、将Navicat_Keygen_Patch_v3.4.exe文件复制到navi...
阅读(3473)评论(1)赞 (0)
pren 发布于 2021-10-18
1. 主窗口 (刚进入) Ctrl+F: 输入关键字查询表 Ctrl+Q: 打开查询器 Ctrl+H: 查看执行历史 Ctrl+G: 打开之前查询保存的sql位置 Ctrl+D :(1):查看表结构详情,包括索引 触发器,存储过程,外键,唯一键;(2):复制一行 Ctrl+n :...
阅读(898)评论(0)赞 (0)
pren 发布于 2021-10-12
sql语句能进行数据的操纵以及数据的定义,能够为用户带来极大的方便。本文会提到 52 条 SQL 语句性能优化策略。有需要的小伙伴,建议收藏。 SQL 语句性能优化策略 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。 ...
阅读(614)评论(0)赞 (1)