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

    原文作者:yinni11
    原文地址: https://blog.csdn.net/yinni11/article/details/80052652
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞