目录一、什么是慢查询二、慢查询的危害三、慢查询常见场景总结一、什么是慢查询什么是MySQL慢查询呢?其实就是查询的SQL语句耗费较长的时间。具体耗费多久算慢查询呢?这其实因人而异,有些公司慢查询的阈值是100ms,有些的阈值可能是500ms,即查询的时间超过这个阈值即视为慢查询。正常情况下,MySQL是不会自动开启慢查询的,且如果开启的话默认阈值是10秒# ......
216
0
0
2023-06-01
目录引言1. 什么是索引2. 索引的数据结构2.1 B+Tree 和 B-Tree2.2 树高问题2.3 什么样的搜索可以用到索引?2.4 使用限制2.5 自适应哈希索引3. 小结引言之前松哥写过一个 MySQL 系列,但是当时是基于 MySQL5.7 的,最近有空在看 MySQL8 的文档,发现和 MySQL5.7 相比还是有不少变化,同时 MySQL 又 ......
184
0
0
2023-05-28
目录开篇一个简单的DEMO天下没有免费的午餐无索引使用 B 树索引引入反向索引在默认解析器中使用反向索引在 n-gram 解析器中使用反向索引InnoDB 反向索引性能下降备选方案开篇在我们的生产环境中,有一个模糊检索的文档框,但是当数据量级别上去之后,频繁对数据库造成压力,所以想使用Full Text全文索引进行优化 下面是一个总结的简单案例一个简单的DE ......
248
0
0
2023-05-26
mysql 启动选项和配置文件Mysql启动方式下面的启动命令都需要依赖在 Linux 环境下配置的Mysql环境变量 mysqldmysqld是一个 可执行文件 ,就代表着Mysql服务器程序,执行这个文件可以直接启动一个服务器进程。 如果非 root 用户可以用如下方式启动,指定启动时读取的配置文件。 mysqld --defaults-fi ......
259
0
0
2023-05-26
mysql 是啥?数据库又是啥?MySQL: MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System:关系数据库管理系统)应用软件之一。 数据库: 数据库( Database )是按照数据结构来组织、存储和管理数据的仓库。 每 ......
252
0
0
2023-05-26
目录1.基本查询回顾2.多表查询 (重要)3.自连接4.子查询1)单行子查询 (子查询的结果是单行)(2)多行子查询(3)多列子查询5.合并查询总结:1.基本查询回顾准备工作,创建一个雇员信息表:(来自oracle 9i的经典测试表)EMP员工表 DEPT部门表 SALGRADE工资等级表案例1:查询工资高于500或岗位为MANAGER的雇员,同时还要满足雇 ......
245
0
0
2023-05-25
目录前言ORDER BY 语法实践出真知实践准备静态排序动态排序总结前言工作中常常会使用ORDER BY进行排序,了解ORDER BY多种排序方式是非常有必要的。ORDER BY 排序可以分为静态排序和动态排序,当然这个静态和动态是我自己取的名字,其他地方找不到。ORDER BY 语法ORDER BY column1 ASC/DESC, column2 AS ......
163
0
0
2023-05-24
目录前言一、案例准备二、基本查询三、多表查询四、子查询4.1 单行子查询4.2 多行子查询4.3 多列子查询4.4 FROM子句中的子查询4.5 合并查询4.5.1 UNION4.5.2 UNION ALL五、自连接六、内外连接6.1 内连接6.2 外连接6.2.1 左外连接6.2.2 右外连接前言对MySQL表的基本查询还远远达不到实际开发过程中的需求,因 ......
178
0
0
2023-05-24
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一介绍什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索 ......
174
0
0
2023-05-23
目录1 数据准备1.1 新建数据表1.2 新增100万条数据2 基础知识2.1 explain type2.2 explain Extra3 索引失效场景3.1 查询类型错误3.1.1 失效场景3.1.2 解决方案3.2 索引列参与运算3.2.1 失效场景3.2.2 解决方案3.3 MySQL放弃使用索引3.3.1 失效场景3.3.2 解决方案一3.3.3 ......
199
0
0
2023-05-22
不少人在开发的时候,应该很少会注意到这些锁的问题,也很少会给程序加锁(除了库存这些对数量准确性要求极高的情况下),即使我们不会这些锁知识,我们的程序在一般情况下还是可以跑得好好的。因为数据库隐式帮我们加了这些锁了,只有在某些特定的场景下我们才需要手动加锁。对于UPDATE、DELETE、INSERT语句,InnoDB会自动给涉及数据集加排他锁(X) 。而My ......
201
0
0
2023-05-21
SQL–查询 Json 、时间、字符串的高级用法 @ 目录 1.SQL–JSON使用 1.1.JSON_ARRAY–转成数组 1.2.JSON_OBJECT–转成json对象 1.2.JSON_QUOTE–转成json 1.3.JSON_MERGE–合并json 1.4.JSON_VALID–判断是否为json 1.5.JSON_EXTRACT–提取json ......
299
0
0
2023-05-21
目录慢查询日志概念慢查询日志相关参数慢查询日志配置日志分析工具mysqldumpslow总结慢查询日志概念MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上 ......
191
0
0
2023-05-20
目录慢查询日志概念一、数据库中设置SQL慢查询1、mysql慢查询相关配置参数介绍2、实现配置步骤二、分析慢查询日志三、常见的慢查询优化1、索引没起作用的情况2、优化数据库结构3、分解关联查询4、优化LIMIT分页四、常用优化方法1. SQL语句的优化2. 表结构的优化总结慢查询日志概念MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MyS ......
221
0
0
2023-05-19
关于MySQL的二进制日志(binlog),我们都知道二进制日志(binlog)非常重要,尤其当你需要point to point灾难恢复的时侯,所以我们要对其进行备份。关于二进制日志(binlog)的备份,可以基于flush logs方式先切换binlog,然后拷贝&压缩到到远程服务器或本地服务器的其他存储上,例如挂载的NAS存储,也可以使用mys ......
190
0
0
2023-05-10