MySQL ;大数的最佳数据类型

Posted

技术标签:

【中文标题】MySQL ;大数的最佳数据类型【英文标题】:MySQL ; Best data type for large numbers 【发布时间】:2017-01-28 01:31:34 【问题描述】:

我想在 MySQL 数据库表中存储一个每天存储频道点击次数(每秒增加并在一天内更新)的字段。我应该为该列分配什么数据类型,记住它甚至可以小于 100 甚至可以超过一百万

【问题讨论】:

如果它是一个整数值 - 使用整数列有什么问题。有关值范围,请参阅文档:dev.mysql.com/doc/refman/5.7/en/integer-types.html 【参考方案1】:

MySQLInteger Types (Exact Value):

Fixed-Point Types (Exact Value) - DECIMAL, NUMERIC:

在标准 SQL 中,语法 DECIMAL(M) 等价于 DECIMAL(M,0)。 类似地,语法 DECIMAL 等价于 DECIMAL(M,0),其中 允许实现来决定 M 的值。 MySQL 支持 这两种 DECIMAL 语法的变体形式。 M的默认值 是 10。

如果小数位数为 0,则 DECIMAL 值不包含小数点或 小数部分。

DECIMAL 的最大位数为 65,但实际范围 对于给定的 DECIMAL 列,可以通过精度或 给定列的比例。当这样的列被赋值时 小数点后的位数超过了允许的位数 指定的比例,值将转换为该比例。 (精确的 行为是操作系统特定的,但通常效果是 截断到允许的位数。)

Storage Requirements:


【讨论】:

就像我们使用 varchar 来表示不确定长度的字符串,我可以使用这种数据类型(DECIMAL)来表示不确定的数字吗? 您需要对自己的真正需求保持现实。如果你认为你达到了一百万,那么unsigned int 的最大值是它的 4000 倍。而且只有 4 个字节,并且对于连接很薄。 DECIMAL 确实有一个限制,但它比任何可能的“计数器”要高得多。

以上是关于MySQL ;大数的最佳数据类型的主要内容,如果未能解决你的问题,请参考以下文章

mysql中价格用什么数据类型表示最佳?

mysql中价格用什么数据类型表示最佳?

存储 MD5 哈希或 NULL 的最佳 MySQL 数据类型

Scala VS Python:为大数据项目选择哪一个

客快物流大数据项目(八十九):ClickHouse的数据类型支持

MySQL 中存储时间的最佳实践