zoukankan      html  css  js  c++  java
  • MySQL单表能存储多少条数据?

    MySQL是中小型网站普遍使用的数据库之一,然而,很多人并不清楚MySQL到底能支持多大的数据量,甚至对它产生误解。MySQL单表的上限,主要与操作系统支持的最大文件大小有关。
    事实上MySQL能承受的数据量的多少主要和数据表的结构有关,并不是一个固定的数值。表的结构简单,则能承受的数据量相对比结构复杂时大些。
    即:MySQL 为了提高性能,会将表的索引装载到内存中。InnoDB buffer size 足够的情况下,其能完成全加载进内存,查询不会有问题。但是,当单表数据库到达某个量级的上限时,导致内存无法存储其索引,使得之后的 SQL 查询会产生磁盘 IO,从而导致性能下降。当然,这个还有具体的表结构的设计有关,最终导致的问题都是内存限制。

    MySQL自己提供的案例:1996年以来,我们一直都在使用MySQL,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100GB的关键应用数据。我们还听说,有些用户将MySQL用于含60000个表和约50亿行的数据库。

    我自己一年前的测试显示:MySQL数据库单表在5千万条记录(10G)情况下运行良好。当然,这些结论和对数据库的优化是分不开的


    通过查阅资料发现:
    MySQL本身并没有对单表最大记录数进行限制,这个数值取决于你的操作系统对单个文件的限制本身。业界流传是500万行。超过500万行就要考虑分表分库了。阿里巴巴《Java 开发手册》提出单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。

  • 相关阅读:
    JavaScript 事件绑定:立即执行函数的闭包 vs let的块作用域
    JavaScript 中的组合继承 :ES5 与 ES6 中最近似的写法
    js 变量提升与函数提升
    js 函数
    清华大学孙茂松组:图神经网络必读论文列表
    idea里处理can not find declaration to go
    MySQL数据库里查询表注释、表字段注释信息
    MySQL循环游标的使用
    ELT和INTERVAL函数
    .jar文件执行命令
  • 原文地址:https://www.cnblogs.com/zt007/p/13937966.html
Copyright © 2011-2022 走看看