跳到主要内容

使用 @db.Money

Optimize 提供建议,帮助您识别和解决因使用 @db.Money 类型而导致的性能问题。

以下模型使用了 @db.Money 原生类型

model Item {
// ...
price Decimal @db.Money
// ...
}

问题是什么?

PostgreSQL 中的 @db.Money 数据类型并非存储货币值的理想选择。在内部,@db.Money 实现为整数,这提供了速度,但缺乏灵活性。它以意外的方式处理小数部分和四舍五入,这可能导致不准确。

此外,@db.Money 类型不存储与关联货币有关的任何信息。相反,它依赖于全局 lc_monetary 区域设置,这可能不适用于所有用例。

有关更多信息,请参阅 PostgreSQL 文档