MySql 高阶二(SQL 性能分析)

SQL 性能分析:

查看当前数据库的 增删改查的使用情况

sql 复制代码
show global status like 'Com_______';

慢查询日志:

sql 复制代码
-- 查看状态
show variables like 'slow_query_log'

目前是开启状态。如何开启,编辑my.cnf 文件 添加下面的语句,编辑完成后重启Mysql服务

powershell 复制代码
vim /etc/my.cnf  #编辑my.cnf文件

#新增下面3句
slow_query_log=1  # 开启慢sql
slow-query-log-file=/www/mysql-slow.log  #存放日志的地方
long_query_time=3    # 表示超过3秒就记录下来。

#重启Mysql服务:
systemctl restart mysqld

之后如果定时查看 /www/mysql-slow.log 日志,就可以看是否有查过3秒的慢sql

下是一个例子。

查看sql 耗时情况

sql 复制代码
select @@have_profiling;  -- 查看数据库支付支持 
select @@profiling;   -- 查看是否开启
set profiling = 1;    -- 开启profiling
sql 复制代码
select * from a_img where id = 10
select * from a_img where img_url like '%24SN%'
show profiles;

通过 profiles就可以查看到最近 sql的执行时间

sql 复制代码
show profile cpu for query 126;   #查询执行过程耗时:
相关推荐
Zan3 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
这个DBA有点耶4 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
aiks_yuan5 小时前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
SelectDB5 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹6 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen6 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶7 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农9 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan9 小时前
搭建Oracle RAC 集群
数据库·oracle