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

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

【问题讨论】:

标签: mysql sqldatatypes


【解决方案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 确实有一个限制,但它比任何可能的“计数器”要高得多。
猜你喜欢
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-28
  • 2021-08-22
  • 2010-11-22
相关资源
最近更新 更多