首页 > 数据库技术 > 详细

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

时间:2015-08-26 02:45:25      阅读:294      评论:0      收藏: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多个表.  各种问题就没有了. 



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

原文:http://blog.itpub.net/133735/viewspace-1777482/

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!