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。
相关推荐
Jim60011 小时前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL17 小时前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_19 小时前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_4 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横4 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二4 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab4 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
小猿姐4 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
ClouGence5 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle