跳至主要内容

使用 timestamp(0) 或 timestamptz(0)

优化功能提供建议,帮助您识别并解决 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.