跳到主要內容

使用 timestamp(0) 或 timestamptz(0)

Optimize 提供建議,幫助您識別並解決因在 PostgreSQL 中使用 @db.Timestamp(0)@db.Timestamptz(0) 原生型別而引起的效能問題。

在以下 User 模型中使用了 @db.Timestamp(0)@db.Timestamptz(0) 原生型別

model User {
// ...
date DateTime @db.Timestamp(0)
deletedAt DateTime @db.Timestamptz(0)
// ...
}

為何這是個問題

當使用精度為 0@db.Timestamp(n)@db.Timestamptz(n) 列時,資料庫會將時間四捨五入到最接近的整秒,這可能導致意想不到的結果。

例如,如果您將當前時間(如 15:30:45.678)插入到具有此精度的列中,它將四捨五入為 15:30:46。這種行為可能導致記錄的時間比原始時間提前最多半秒,這在精確時間準確性至關重要時可能會令人驚訝。

© . This site is unofficial and not affiliated with Prisma Data, Inc.