首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >严格禁止单条记录超过 8 K

严格禁止单条记录超过 8 K

作者头像
用户4128047
发布2025-12-23 17:32:18
发布2025-12-23 17:32:18
990
举报

        在MySQL数据库设计中,严格限制单条记录不超过8KB是重要的性能优化原则,主要基于以下技术考量:

        InnoDB存储引擎限制。         InnoDB默认页大小16KB,需保证每页至少存储两条记录。         超过8KB会导致page-overflow问题,影响IO效率。 具体计算规则         中文UTF8编码:长度×3字节         英文/数字:长度×1字节         总计算公式:(中文列长度×3)+(英文列长度×1)≤819215 大字段处理方案         TEXT/BLOB类型建议拆分到子表存储         图片/文件应使用外部存储(如TFS/SFS),数据库仅保存指针         频繁读写的大字段需独立分表 设计检查方法

代码语言:javascript
复制
-- 估算表记录大小
SELECT 
  SUM(
    CASE 
      WHEN DATA_TYPE IN ('varchar','char') THEN 
        CASE 
          WHEN CHARACTER_SET_NAME='utf8mb4' THEN CHARACTER_MAXIMUM_LENGTH*4 
          ELSE CHARACTER_MAXIMUM_LENGTH*3 
        END
      ELSE 8 /*假设其他类型平均占8字节*/
    END
  ) AS estimated_row_size
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA='库名' AND TABLE_NAME='表名';

该SQL可估算表的单行记录大小。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档