gpt4 book ai didi

postgresql - POSTGRES 中的 numeric(9,0) 和 int 有什么区别?

转载 作者:行者123 更新时间:2023-11-29 11:56:04 25 4
gpt4 key购买 nike

NUMERIC(9,0)INT 在 Postgres 中是否相同?

每种类型可以存储多少字节的数据?

背景:我在启动 Spring 容器时使用 auto-ddl API 将脚本应用到数据库。现在,我正在尝试通过为 POSTGRES 服务器生成 db-changelog 来使用 liquibase 生成脚本。

最佳答案

NUMERIC(9, 0)INT 在 Postgres 中是不同的类型。重要的区别在于存储格式。

numeric 类型可以根据需要在 0 到 255 字节之间。类型修饰符(9, 0)对保存数据的格式没有影响,只是最大长度的限制。

INT 类型的长度固定为 4 个字节。

'999999999'::numeric 的大小:

postgres=# select pg_column_size('999999999'::numeric);+----------------+| pg_column_size |+----------------+|             12 |+----------------+(1 row)

注意:NUMERIC 类型的某些操作比INT 类型的操作慢。 NUMERIC 类型需要更多空间;它专为处理大量或精确数字而设计。它并非旨在替代 INT 类型。

Postgres 不会将 NUMERIC(x, 0) 转换为 INTBIGINT

关于postgresql - POSTGRES 中的 numeric(9,0) 和 int 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58155982/

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