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

MySQL查询表结构、表大小

今天删除生产的一个表数据时,数据库服务有点受不住。。。

这个表总数据一百来万条,当时的删除语句差不多删除70万条数据。我一执行,运维大哥就在喊有异常,有异常。生产数据库自动切换到了备库,主库应该是遭不住了。下午点,我又执行了一次,运维大哥又在喊,有异常,有异常。

后头分析了下,执行二三十万的删除是没有问题的。执行删除数据多了,就会有问题。运维大哥说是因为数据量多了之后,把表锁住了,当表释放的时候,其他有等待写入的连接一下子涌进来,服务器就遭不住了。有点道理。

优化了下,删除时,限制了天数,再加上了条件,影响粒度小了。应该没啥问题,观察观察。以后执行大批量操作得注意,尽量在 低峰期 执行。

今天我们随笔两句。

查看表结构

DESC user;
DESCRIBE user;
SHOW CREATE TABLE user;
-- 都是可以的。

查看表数据大小

-- 以 MB 为单位
SELECT table_name AS `表名`,ROUND(data_length / (1024 * 1024), 4) AS `数据大小(MB)`,ROUND(index_length / (1024 * 1024), 4) AS `索引大小(MB)`,ROUND((data_length + index_length) / (1024 * 1024), 4) AS `总大小(MB)`
FROM information_schema.TABLES 
WHERE table_schema = 'ysjz' AND table_name = 'user';-- 以 GB 为单位
SELECT table_name AS `表名`,ROUND(data_length / (1024 * 1024 * 1024), 4) AS `数据大小(GB)`,ROUND(index_length / (1024 * 1024 * 1024), 4) AS `索引大小(GB)`,ROUND((data_length + index_length) / (1024 * 1024 * 1024), 4) AS `总大小(GB)`
FROM information_schema.TABLES 
WHERE table_schema = 'ysjz' AND table_name = 'user';

将 数据库名 ysjz表名 user,替换为对应查询的数据库名和表名即可。

有时我们会发现,明明表中的数据都增加了好几十万,但是多次执行以上的查询表数据的SQL,结果都一样。这时我们可以使用 ANALYZE TABLE 语句来更新统计信息。

ANALYZE TABLE user, order; -- 可以同时指定多个表,对多个表进行分析操作。

付出很多努力,却得不到结果的日子,我们把它叫作扎根。-- 烟沙九洲

http://www.dtcms.com/a/330312.html

相关文章:

  • 告别意外中断,iOS辅助工具按键精灵「异常停止重启脚本」功能介绍
  • <c1:C1DateTimePicker的日期时间控件,控制日期可以修改,时间不能修改,另外控制开始时间的最大值比结束时间小一天
  • git clone 支持在命令行临时设置proxy
  • 康托展开与逆康托展开
  • 词向量转化
  • RocketMQ 消息存储机制 CommitLog和ConsumerQu
  • 第八课:python的运算符
  • 从 VLA 到 VLM:低延迟RTSP|RTMP视频链路在多模态AI中的核心角色与工程实现
  • 论文分享 | Flashboom:一种声东击西攻击手段以致盲基于大语言模型的代码审计
  • 04-spring-手写spring-demo-aop0V1
  • Canal解析MySQL Binlog原理与应用
  • Unity、C#常用的时间处理类
  • Laravel 使用ssh链接远程数据库
  • 使用 Simple Floating Menu 插件轻松实现浮动联系表单
  • AI一周事件(2025年8月6日-8月12日)
  • [ Mybatis 多表关联查询 ] resultMap
  • ResourcelessTransactionManager的作用
  • 第三天-如何在DBC中描述CAN Signal的“负数/值”
  • JetPack系列教程(六):Paging——让分页加载不再“秃”然
  • 理财学习资料推荐
  • 谈一些iOS组件化相关的东西
  • C# 多线程:并发编程的原理与实践
  • C++中的STL标准模板库和string
  • Heterophily-aware Representation Learning on Heterogeneous Graphs
  • AI - 工具调用
  • AI智能体记忆策略
  • 10 ABP 模块系统
  • [转]SURREAL数据集国内下载链接
  • Deep Agents:用于复杂任务自动化的 AI 代理框架
  • nm命令和nm -D命令参数