ITPub博客

首页 > 数据库 > MySQL > MySQL 数据库 到底能支撑多少表?

MySQL 数据库 到底能支撑多少表?

原创 MySQL 作者:babyyellow 时间:2015-08-20 14:19:24 0 删除 编辑


MySQL  数据库到底能支撑多少个表? 

原则上来说应该是无限的, 但是又收到了操作系统某些参数的限制.  内存大小的限制. 

根据 mysql 5.7 的文档,  里面提到了一点 : 

 table_open_cache

System Variable Name table_open_cache
Variable Scope Global
Dynamic Variable Yes
Permitted Values (<= 5.6.7) Type integer
Default 400
Min Value 1
Max Value 524288
Permitted Values (>= 5.6.8) Type integer
Default 2000
Min Value 1
Max Value 524288



这个参数 数据库能够打开的表的最大数目, 考虑到2,8 原则, 那么假设所有的这些cache 都是热表, 那么就是再 * 5 倍  大约 26万个表. 

实际情况呢: 


我们再一个项目中,设计的时候,开了 20000个表,  32G 内存   8 core * 2  cpu  8*300g  sas  硬盘 的硬件 . 

在测试的时候就已经无法忍受了, 启动数据库超慢, 一个show  table status  就要等几分钟, 这还是没有压力的情况下. 

已经无法投产了, 最后重新评估,各种修改 ,  然后设置了4000多个表.  各种问题就没有了. 



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/133735/viewspace-1777482/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
oracle MySQL Postgresql 专职数据库dba。 系统架构师。 mysql 官方认知dba 。 15年专职dba 经验。 潜意识沟通实证者 心理咨询师。 禅修布道者, 禅修指导员。 禅定实证者。

注册时间:2010-12-02

  • 博文量
    367
  • 访问量
    1908877