mysql一个数据库允许存放多少个表?数据库里表多少个才合理?

mysql的配置项里是否有对一个数据库中,是否有最大数据表的限制,后面查询了相关资料,才发现,mysql数据库中,对单个数据库中的最大允许建立的数据表是没有配置项,也就是说没有限制的。

mysql单数据库对数据表限制数量的问题:
1.一个数据库是没有表现值的,或者说这个被限制的值很大
2.一个mysqld服务可以支持的表对象数量是,42亿多点,所以这个限制基本上不需要考虑
 
从性能考虑的话,一个数据库建立多少张表适合的问题:
1.当一个数据库或实例中,表太多,意味着可能同时需要打开的表,从操作系统角度说就是:文件描述符很多,这个操作系统有限制的,但是可以修改操作系统的内核参数达到
 
2.多少表性能就会下降,分2点阐述
2.1.分表多,意味着需要维护的表结构和统计信息多,一般情况下此不会成为任何瓶颈,但是太不合理,比如几万甚至更大,可能就有问题了
2.2.性能是否下降明显,最直接的就是:跟服务器的承载能力和数据量有关系,这个是最直接的
 
3.反问“为何要分很多表”呢?
3.1.分表太多,容易造成程序逻辑复杂,降低性能,以及增加出错的风险点
3.2.若是表中的数据量(指容量,多少GB)很大,只是分表解决不了问题,因为在同一个服务器上,其物理IO能力最优先达到瓶颈

所以,一个数据库建立多少表,这个MYSQL是没有限制的。但是从性能考虑,肯定是有一定影响的,但是从IO和其他服务器性能考虑,这块的性能基本上还不足影响到很大成份。所以建议大家一个数据库建立在二百个表以下,这样也是比较合理的了。影响性能也不大。

但是如果你执意要知道MYSQL能够建立多少个表的话,可以参考以下理论值的资料吧:
 
在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。

当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败,并产生错误信息。

转载于:https://blog.csdn.net/shenwansangz/article/details/50358074

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值