gpt4 book ai didi

mysql - 如何处理数据库特定表中的大量数据

转载 作者:可可西里 更新时间:2023-11-01 07:54:49 25 4
gpt4 key购买 nike

我正在做一个项目,我不断地在一个表中插入行,几天之内这个表会变得非常大,我想出了一个问题但找不到答案:当我知道该表中的行数多于“bigint”时会发生什么

我有一个“id”列(它是一个整数)?我的数据库 (MySQL) 可以正确处理吗?大公司如何处理此类问题并加入大 table ?

我不知道这类问题是否有简短的答案,但欢迎任何解决我问题的线索!

最佳答案

您会在用完 BIGINT 之前用完存储空间主键序列。

Unsigned BIGINT 可以表示 0 到 18,446,744,073,709,551,615 的范围。即使您有一个包含 BIGINT 类型主键(8 字节)的列的表,您也会消耗 (18,446,744,073,709,551,615×8)÷1,024^4 = 134,217,728 TB 的存储空间。

此外,MySQL 中表的最大大小对于 MyISAM 为 256 TB,对于 InnoDB 为 64 TB,因此实际上您被限制为 256×1,024^4÷8 = 35 万亿行。

Oracle 支持 NUMBER(38)(占用 20 个字节)作为最大可能的 PK,0 到 1e38。但是,拥有 20 字节的主键是无用的,因为 Oracle 中的最大表大小为 4*32 = 128 TB( block 大小为 32K)。

关于mysql - 如何处理数据库特定表中的大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com