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

mysql控制单表数据存储及单实例表创建

1. 单表数据存储不要过大

  • 主流建议
    • 保守建议。100万以内保持最佳性能
    • 其他。不超过2000万
  • 理论依据。
    • B+树层级可能变多。从3增加到4。导致索引查询路径边长,增加IO开销
  • 优化
    • 加索引。对高频查询字段增加索引。避免全表扫描
    • 低频历史数据通过分区表或归档隔离。
    • 足够的内存 + 高速磁盘
    • 分库分表
      • 当查询延迟显著增加
      • 高并发导致锁竞争激烈(热点更新)
      • 业务拓展。预计数据量快速增长。预先规划可拓展架构

2. 单实例中表数目不要过多

  • 应小于500.
    • 过多的表增加元数据管理开销。影响查询性能
    • 增加了维护成本。表数量过多提升了备份、监控、DDL操作的复杂度
    • 业务解耦。通过分库分表垂直拆分控制单实例表数量。符合高内聚低耦合的设计。

3. 单表列数目不要过多

  • 存储效率。
    • 单表列数过多会导致单条数据体积增大,降低内存缓存效率。
  • 查询性能。
    • 增加了I/O压力索引维护成本高。
  • 拓展性。
    • 列超30通过垂直拆分避免业务调整使表结构臃肿

实际应用中的灵活性

例外场景

  • 若确实需要宽表。在数据仓库中可以接受,但需配合列式存储引擎(如ClickHouse)
  • 若有特殊需求。则控制主表的列数。保留高频的访问字段。低频字段通过关联表存储。

替代方案

  • 可以使用json存储数据,减少列数,但要考虑查询效率
  • 按周期归档历史数据。控制单表数据量
http://www.xdnf.cn/news/433.html

相关文章:

  • MCP是什么?为什么突然那么火?
  • Ubuntu开启自启动PostgreSQL读取HDD失败处理思路
  • 动态规划经典例题:最长单调递增子序列、完全背包、二维背包、数字三角形硬币找零
  • Linux Privilege Escalation: LD_PRELOAD
  • 实战设计模式之备忘录模式
  • Python爬虫实战:获取B站查询数据
  • 【T型三电平仿真】SVPWM调制
  • stack和queue的使用和模拟实现
  • 【Linux】线程ID、线程管理、与线程互斥
  • 【Hot100】 73. 矩阵置零
  • 红帽RHEL与国产Linux系统对比:技术、生态与自主可控的博弈
  • 深入理解 Java 多线程:锁策略与线程安全
  • uniapp-x 二维码生成
  • AI速读 Seed-Thinking-v1.5:大模型推理的新飞跃
  • 从零开始学A2A五:A2A 协议的安全性与多模态支持
  • 利用 Deepseek 和 Mermaid 画流程图
  • Linux教程-常用命令系列二
  • 【SAP ME 45】并发SFC拆分导致 SFC_STEP中的QTY_IN_QUEUE与SFC表中的QTY不一致
  • React Article模块
  • 深入解析NotaGen:5亿参数+三阶段训练,解锁高质量AI音乐生成
  • 【大模型框架】LLAMA-FACTORY使用总结
  • 6547网:2025年3月 Python编程等级考试一级真题试卷
  • java浮点数运算判断
  • ESP-ADF外设子系统深度解析:esp_peripherals组件架构与核心设计(显示输出类外设之LCD)
  • 致远OA——自定义开发rest接口
  • Android开发四大组件和生命周期及setFlags
  • 触发器(详解)
  • jmeter利用csv进行参数化和自动断言
  • C算术运算符 printf输出格式 字符指针打印输出 使用scanf函数进行输入
  • ReSearch:基于强化学习的大语言模型推理搜索框架