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



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博客 ” ,链接:http://blog.itpub.net/133735/viewspace-1777482/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-1777482/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值