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。
相关推荐
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
yyuuuzz1 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
键盘上的猫头鹰4 小时前
【MySQL 教程(八)】索引、事务、用户管理、导入导出与分页查询
数据库·python·mysql
Royzst4 小时前
数据库知识点
数据库
雪的季节5 小时前
企业级 Qt 全功能项目
开发语言·数据库·qt
宋浮檀s5 小时前
应急响应——Web漏洞:命令执行+SSRF+弱口令
运维·数据库·sql·网络安全·oracle·应急响应
yurenpai(27届找实习中)7 小时前
redis_点评(21.好友关注——关注、取关功能实现;共同关注功能实现)
数据库·redis·缓存
Rick19937 小时前
索引的排序和分组
数据库·mysql
爱莉希雅&&&7 小时前
zabbix快速搭建和使用
android·linux·数据库·zabbix·监控
不爱编程的小陈7 小时前
事务的进化:从MySQL单机事务到TiDB分布式事务的探究
分布式·mysql·tidb