一个 mysql 库容纳多少个表会比较明显的影响速度?

2020-09-06 16:30:12 +08:00
 l890908
理论上来说基本上没有限制(42 亿多),但是同时访问的表越多,文件描述符就越多,从操作系统角度来说还是有影响的;

那么在实操过程中多少个表会比较明显的影响速度?
4914 次点击
所在节点    MySQL
20 条回复
qiayue
2020-09-06 16:32:24 +08:00
可以不用考虑极限了,按照业务分库分表即可。
举例我们的统计 SDK,每个接入的 app 都给一个单独的库,这样不同 app 互不影响。
l890908
2020-09-06 16:52:16 +08:00
@qiayue 那如果实际上一个库中用到几百几千个表那也没有影响吗?
xupefei
2020-09-06 17:00:24 +08:00
在担心操作系统内核瓶颈之前,不如先考虑一下硬盘瓶颈。

推荐系统学习一下数据库原理,学完就不会有这种无意义的担心了😂
xupefei
2020-09-06 17:04:25 +08:00
解答一下你的具体问题:用 innodb 引擎,多少表都不是瓶颈。
realpg
2020-09-06 17:59:47 +08:00
@l890908 #2

目前我的单服务器库有上万个结构一样的表
无性能压力
zhz1237ok
2020-09-06 18:21:03 +08:00
https://dev.mysql.com/doc/refman/8.0/en/database-count-limit.html

MySQL has no limit on the number of tables. The underlying file system may have a limit on the number of files that represent tables. Individual storage engines may impose engine-specific constraints. InnoDB permits up to 4 billion tables.

mysql 没有极限,innodb 只能容纳四百万张表

够用了
CitizenR
2020-09-06 19:15:04 +08:00
@zhz1237ok 那不是四百万,是四十亿,但肯定都够用。
qa2080639
2020-09-06 19:53:40 +08:00
@realpg 分那么多表是怎么同步更新表结构的呢?
realpg
2020-09-06 19:54:38 +08:00
@qa2080639 #8
我的系统表结构不需要更新
opengps
2020-09-06 20:14:53 +08:00
表数量一般不是重点,重点往往是你数据库落盘的硬盘 io 是否够用
yingfengi
2020-09-06 20:58:02 +08:00
数据库这玩意,和虚拟化一样,往往你的硬盘 io 先撑不住了。。。
a719114136
2020-09-06 21:18:57 +08:00
实际操作中不会遇到这种情况,当业务发展到需要这么多表的时候一定已经做了分库,不会只用一台机器一个库
ackoly
2020-09-07 09:07:47 +08:00
是实例还是库?
我们生产上有一个实例 40+w 张表,分布在几百个数据库,目前的问题是阿里云无法备份,咨询后确认超过 40W 导致的。
PS.实例配置 4c8g
KingPL
2020-09-07 09:14:34 +08:00
实际业务上 能达到那体量,也是不差钱重构的啦....
l890908
2020-09-07 09:42:08 +08:00
@ackoly 是啊,实际中与理论上不一样的,阿里云备份应该是直接备份对应的服务器实例?怎么会出现无法备份的情况》?
weizhen199
2020-09-07 10:05:26 +08:00
主要看的是你的机器
YzSama
2020-09-07 10:32:34 +08:00
上个 SSD 、cpu 开个 24C 32G 内存。应该能顶住百万级吧
w3cfed
2020-09-07 11:32:39 +08:00
后端渣渣,借楼求助。怎么锻炼自己的数据库设计能力呢?目前只会搭建一个博客的数据库设计......
Huelse
2020-09-07 13:56:49 +08:00
@l890908 #15 mysql 技术本身支持几乎无上限,或者说上限很大,大到你无需在初期考虑他。更多的还是在于硬件限制,从水桶效应来分析出系统的上限在哪里,一般都是硬盘 IO,内存和网络限制。
xupefei
2020-09-07 17:31:13 +08:00
@w3cfed 先系统学习一下数据库原理

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

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

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

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

© 2021 V2EX