当前位置: 首页 > news >正文

MySQL分析步

MySQL分析

-- 库名
set @dbName = 'bsa_crmeb_bak';
-- 表名
set @tableName = 'bsa_crmeb_bak';-- 查看bsa_crmeb_bak数据库基本信息
SELECTSCHEMA_NAME AS '数据库名',DEFAULT_CHARACTER_SET_NAME AS '字符集',DEFAULT_COLLATION_NAME AS '排序规则'
FROM information_schema.SCHEMATA
WHERE SCHEMA_NAME = @dbName;-- 查看数据库中所有表的信息
SELECTTABLE_NAME AS '表名',TABLE_ROWS AS '预估记录数',DATA_LENGTH/1024/1024 AS '数据大小(MB)',INDEX_LENGTH/1024/1024 AS '索引大小(MB)',(DATA_LENGTH + INDEX_LENGTH)/1024/1024 AS '总大小(MB)',(DATA_LENGTH + INDEX_LENGTH)/1024/1024/1024 AS '总大小(GB)',TABLE_COMMENT AS '表注释'
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @dbName
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;-- 重新计算表的统计信息
ANALYZE TABLE @tableName;-- 查看数据库中所有表的信息
SELECTTABLE_NAME AS '表名',TABLE_ROWS AS '预估记录数',DATA_LENGTH/1024/1024 AS '数据大小(MB)',INDEX_LENGTH/1024/1024 AS '索引大小(MB)',(DATA_LENGTH + INDEX_LENGTH)/1024/1024 AS '总大小(MB)',sum((DATA_LENGTH + INDEX_LENGTH)/1024/1024/1024) AS '总大小(GB)',TABLE_COMMENT AS '表注释'
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @dbName
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;-- 查看特定表的字段结构
SELECTCOLUMN_NAME AS '字段名',COLUMN_TYPE AS '数据类型',IS_NULLABLE AS '是否可空',COLUMN_DEFAULT AS '默认值',COLUMN_COMMENT AS '字段说明',COLUMN_KEY AS '索引信息'
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @dbNameAND TABLE_NAME = @tableName
ORDER BY ORDINAL_POSITION;-- 查看表中数据的基本统计信息(以用户为例)
SELECTCOUNT(*) AS 总记录数,COUNT(DISTINCT user_id) AS 唯一用户数,MIN(create_time) AS 最早创建时间,MAX(create_time) AS 最新创建时间
FROM @tableName;-- 查看表中数据的基本统计信息(以1655用户为例)
SELECTCOUNT(*) AS 总记录数,COUNT(DISTINCT user_id) AS 唯一用户数,MIN(create_time) AS 最早创建时间,MAX(create_time) AS 最新创建时间
FROM @tableName where user_id = 1655;-- 查看数据分布情况
SELECTuser_id,COUNT(*) as 数量,ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM @tableName), 2) as 百分比
FROM @tableName
GROUP BY user_id
ORDER BY 数量 DESC;-- 查看表的索引信息
SHOW INDEX FROM @tableName;-- 或者通过information_schema查询
SELECTINDEX_NAME AS '索引名',COLUMN_NAME AS '字段名',NON_UNIQUE AS '是否非唯一',SEQ_IN_INDEX AS '索引顺序',INDEX_TYPE AS '索引类型'
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = @dbName
AND TABLE_NAME = @tableName
ORDER BY INDEX_NAME, SEQ_IN_INDEX;-- 开启查询分析
SET profiling = 1;-- 执行你的查询语句
SELECT * FROM @tableName WHERE user_id = 1655;-- 查看查询分析结果
SHOW PROFILES;
SHOW PROFILE FOR QUERY 1; -- 查看第一个查询的详细信息-- 查看当前数据库连接状态
SHOW STATUS LIKE 'Threads_connected';
SHOW STATUS LIKE 'Threads_running';-- 查看数据库最大连接数设置
SHOW VARIABLES LIKE 'max_connections';-- 查看慢查询相关设置
SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'long_query_time';-- 查看表使用的存储引擎
SELECTTABLE_NAME,ENGINE,TABLE_ROWS,DATA_LENGTH/1024/1024 AS '数据大小(MB)'
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @dbName
ORDER BY DATA_LENGTH DESC;-- 查看数据库中的外键关系
SELECTTABLE_NAME AS '表名',COLUMN_NAME AS '字段名',CONSTRAINT_NAME AS '约束名',REFERENCED_TABLE_NAME AS '引用表',REFERENCED_COLUMN_NAME AS '引用字段'
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = @dbName
AND REFERENCED_TABLE_NAME IS NOT NULL
ORDER BY TABLE_NAME;-- 查看数据库中的视图
SELECTTABLE_NAME AS '视图名',VIEW_DEFINITION AS '视图定义'
FROM information_schema.VIEWS
WHERE TABLE_SCHEMA = @dbName;-- 查看存储过程和函数
SELECTROUTINE_NAME AS '名称',ROUTINE_TYPE AS '类型',CREATED AS '创建时间',LAST_ALTERED AS '最后修改时间'
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = @dbName;-- 查看数据库相关的性能参数
SHOW VARIABLES LIKE '%buffer_pool%';
SHOW VARIABLES LIKE '%innodb%';
SHOW STATUS LIKE '%innodb%';
http://www.dtcms.com/a/309563.html

相关文章:

  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • C语言的复合类型、内存管理、综合案例
  • 【AI 加持下的 Python 编程实战 2_12】第九章:繁琐任务的自动化(上)——自动清理电子邮件文本
  • PendingIntent相关流程解析
  • MySQL——事务详解
  • React Refs:直接操作DOM的终极指南
  • RAGFlow Agent 知识检索节点源码解析:从粗排到精排的完整流程
  • Java学习第九十六部分——Eureka
  • Elasticsearch IK 中文分词器指南:从安装、配置到自定义词典
  • IPAM如何帮助企业解决IP冲突、识别未经授权设备并管理子网混乱
  • MAC 升级 Ruby 到 3.2.0 或更高版本
  • ARM Cortex-M 处理器的应用
  • Smart Launcher:安卓设备上的智能启动器
  • ElasticSearch Linux 下安装及 Head 插件 | 详情
  • 设计Mock CUDA库的流程与实现
  • 【秋招笔试】07.27文远知行-第一题
  • Git 实现原理剖析
  • Boost.Asio学习(5):c++的协程
  • Python Flask框架Web应用开发完全教程
  • 后台管理系统权限管理:前端实现详解
  • 关于WIKI的一些使用技巧
  • windows系统安装文生图大模型Stable diffusion V3.5 large(完整详细可用教程)
  • 20250801在Ubuntu24.04.2LTS下编译firefly_itx_3588j的Android12时解决boot.img过大的问题
  • 李宏毅深度学习教程 第4-5章 CNN卷积神经网络+RNN循环神经网络
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的经方药食两用服务平台管理系统(附源码+数据库+毕业论文+部署教程+配套软件)
  • 【科普】进程与线程的区别
  • 电商前端Nginx访问日志收集分析实战
  • 机器学习【三】SVM
  • 无人机避让路径规划模块运行方式
  • uniapp无线(WIFI)运行调试APP(真机)