最近遇见一个 MySQL 的慢查问题,于是排查了下,这里把相关的过程做个总结。 定位原因 我首先查看了 MySQL 的慢查询日志,发现有这样一条 query 耗时非常长(大概在 1 秒多),而且扫描的行数很大(10 多万条数据,差不多是全表了): SELECT FROM tgdemand_deman ...
分类:
数据库 时间:
2019-09-04 10:24:07
阅读次数:
115
Reference: https://time.geekbang.org/column/article/113440 1. 无索引、索引失效导致慢查询 如果在一张几千万数据的表中以一个没有索引的列作为查询条件,大部分情况下查询会非常耗时,这种查询毫无疑问是一个慢SQL查询。所以对于大数据量的查询,需 ...
分类:
数据库 时间:
2019-08-29 14:18:43
阅读次数:
121
mysql默认是没有开启慢查询的 1 查看慢查询的配置状态 show variables like 'slow_query%'; slow_query_log 慢查询开启状态 slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQ ...
分类:
数据库 时间:
2019-08-28 01:03:46
阅读次数:
115
[TOC] 小科普 核心业务逻辑代码一般都是 放在服务端 的 客户端容易被懂行点的人修改源码,造成损失 视图 什么是视图 一个查询语句的结果是虚拟表,将(查询出)这张虚拟表(的sql语句)保存下来,他就变成了一个视图(mysql中还是以表的形式存在的) 为什么要用视图 当频繁需要用到多张表的联表结果 ...
分类:
数据库 时间:
2019-08-24 22:52:50
阅读次数:
126
先使用orm, 后期使用慢查询工具找出慢查询的sql语句, 改变对应的orm操作 ...
分类:
其他好文 时间:
2019-08-24 22:51:51
阅读次数:
136
知识回顾:数据都是存在硬盘上的,那查询数据不可避免的需要进行IO操作 *索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。* * primary key* unique key 快 加 约束* index key 只有快 foreign key 是建表与表之间的关系 注意fo ...
分类:
其他好文 时间:
2019-08-24 18:18:25
阅读次数:
88
MySQL数据库常见的日志有:错误日志(log_error)、慢查询日志(slow_query_log)、二进制日志(bin_log)、通用日志(general_log) 开启慢查询日志并分析 开启慢查询日志: set global slow_query_log=1; 在线开启。如果MySQL发生重 ...
分类:
数据库 时间:
2019-08-20 12:19:38
阅读次数:
116
1.查看慢查询时间 show VARIABLES like 'long_query_time'; 2.在mysql命令行界面设置慢查询 set GLOBAL slow_query_log=ONset GLOBAL long_query_time = 2set GLOBAL slow_query_lo ...
分类:
数据库 时间:
2019-08-20 11:03:41
阅读次数:
84
1. SQL语句优化 1.1 Sakila示例数据库安装 Sakila 数据库是 MySQL 官方提供的示例数据库,常用来做测试。 1、下载 : 2、解压后会得到三个文件: :用于创建表结构和数据库 :用于插入数据 3、进入 MySQL 中,创建数据库、数据表以及插入数据: 1.2 慢查询 如何发现 ...
分类:
数据库 时间:
2019-08-19 23:12:01
阅读次数:
126