使用 @db.Money
优化功能提供建议,帮助您识别和解决因使用 @db.Money
类型引起的性能问题。
以下模型使用了 @db.Money
原生类型
model Item {
// ...
price Decimal @db.Money
// ...
}
问题是什么?
PostgreSQL 中的 @db.Money
数据类型不适合存储货币值。在内部,@db.Money
被实现为一个整数,这提供了速度,但缺乏灵活性。它以意想不到的方式处理小数值和四舍五入,这可能会导致不准确。
此外,@db.Money
类型不存储有关相关货币的任何信息。相反,它依赖于全局 lc_monetary
区域设置,这可能不适用于所有用例。
有关更多信息,请参阅PostgreSQL 文档。