@db.Moneyの使用
Optimizeは、@db.Money
型の使用によって引き起こされるパフォーマンス問題を特定し、解決するための推奨事項を提供します。
以下のモデルは、@db.Money
ネイティブ型を使用しています
model Item {
// ...
price Decimal @db.Money
// ...
}
問題点
PostgreSQLの@db.Money
データ型は、通貨値を保存するのに理想的ではありません。内部的には、@db.Money
は整数として実装されており、速度は提供しますが、柔軟性に欠けます。端数処理や丸め処理が予期しない方法で行われるため、不正確になる可能性があります。
さらに、@db.Money
型は関連する通貨に関する情報を保存しません。代わりに、グローバルなlc_monetary
ロケール設定に依存しており、すべてのユースケースに適しているとは限りません。
詳細については、PostgreSQLドキュメントを参照してください。