Mysql--11

一、索引语法

1. 创建索引

sql

复制代码
CREATE [UNIQUE|FULLTEXT] INDEX index_name ON table_name (index_col_name,...);
  • UNIQUE:唯一索引,保证列值不重复。
  • FULLTEXT:全文索引,用于文本搜索。
  • 普通索引:不加修饰词即可创建。

2. 查看索引

sql

复制代码
SHOW INDEX FROM table_name;

查看表中所有索引的详细信息。

3. 删除索引

sql

复制代码
DROP INDEX index_name ON table_name;

删除指定名称的索引。


二、SQL 执行频率统计

通过 SHOW [SESSION|GLOBAL] STATUS 命令查看数据库操作频次:

sql

复制代码
SHOW GLOBAL STATUS LIKE 'Com_______';
  • 可统计 Com_select(查询)、Com_insert(插入)、Com_update(更新)、Com_delete(删除)等操作的执行次数。
  • GLOBAL 表示全局统计,SESSION 表示当前会话统计。

三、慢查询日志(性能瓶颈定位)

1. 作用

记录所有执行时间超过 long_query_time(默认 10 秒)的 SQL 语句,用于定位慢查询。

2. 配置开启(my.cnf 配置文件)

ini

复制代码
# 开启慢查询日志
slow_query_log=1
# 设置慢查询阈值为 2 秒
long_query_time=2
  • 配置后需重启 MySQL 服务生效。
  • 日志文件默认路径:/var/lib/mysql/localhost-slow.log

四、Profile 性能分析

1. 作用

分析 SQL 语句在执行过程中各个阶段的耗时与资源消耗。

2. 常用命令

sql

复制代码
-- 查看所有 SQL 的耗时概况
show profiles;

-- 查看指定 query_id 的 SQL 各阶段耗时
show profile for query query_id;

-- 查看指定 query_id 的 SQL CPU 使用情况
show profile cpu for query query_id;
  • query_idshow profiles 结果提供,用于定位具体 SQL。
相关推荐
小码农 - 初3 小时前
MySQL 增删改查
mysql
凌虚10 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
五阿哥永琪10 小时前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善10 小时前
了解Mysql优化吗?如何优化索引?
数据库·mysql
赤壁小虾12 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
MC皮蛋侠客13 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
奈斯先生Vector13 小时前
把 Midjourney 二次编辑做成生产系统:customId 能力令牌、Action Graph 与 WebUI 精修工作台
数据库·人工智能·架构·aigc·音视频·midjourney
Lethehong14 小时前
双擎并驱·全链路并行:KFS让TB级异构增量同步秒级到达
数据库
MC皮蛋侠客14 小时前
SQLAlchemy 系列(八):AsyncIO、并发与 Web 生命周期——让每个并发任务持有自己的 Session
数据库·python
一水15 小时前
Redis实战:一个AI工作流系统里的五个应用场景,从传参到限流的完整链路
数据库·redis·wpf