mysql 分出 999999 个表

2015-05-06 10:21:09 +08:00
 whatisnew

如果一个 mysql 库里边存在 999999 个表,会发生什么?和分成 999 个表有什么区别?

先不考虑 join 之类的联合查询问题,
单纯来说一个库存在 999999 个表会对 mysql 的运行和读写效率造成影响吗?

2920 次点击
所在节点    MySQL
9 条回复
lianyue
2015-05-06 10:36:27 +08:00
建议表不要超过1000个
whatisnew
2015-05-06 10:38:20 +08:00
@lianyue 为什么呢?
lianyue
2015-05-06 10:41:15 +08:00
@whatisnew 自我感觉 好想以前看过一篇文章 说 忘记了 gg 下就知道了 我记得看过是表多了会影响性能
zzxworld
2015-05-06 10:58:50 +08:00
MySQL 对数据库和表的数量没有限制,但操作系统有,所以具体的要看你使用的操作系统对目录和文件的数量限制。除这个外,使用的数据库引擎对于表也有限制,InnoDB 对表格的上限就是 四十亿个。官方说明如下: https://dev.mysql.com/doc/refman/5.5/en/database-count-limit.html

stackoverflow 上也有相关的问题,如: http://stackoverflow.com/questions/2137516/maximum-number-of-tables-in-mysql

期待楼主后续的学习分享。
tabris17
2015-05-06 11:44:00 +08:00
一个表大致对应两个文件吧,你把文件保存到不同的存储设备或路径下就好了
Tiande
2015-05-06 11:46:31 +08:00
@zzxworld 森森的震惊中
sampeng
2015-05-06 11:57:59 +08:00
分析一下。。。
假设一个表只有1个文件(当然,是n个。这里只是假设)。这里就由999999个文件。
假设你要同时对所有表操作。就是打开9999999个文件。。你确定操作系统允许你干这事?
justfindu
2015-05-06 12:02:05 +08:00
一个文件夹存99999个文件 你打开都想死了 何况999999*2
Cloudee
2015-05-06 22:35:09 +08:00
楼上两层9的数量分别是6 7 5 6个...@。@

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/188826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX