我们在 Postgres 9.2.10 数据库中有一个大约有 20 列的表。为了在某些SELECT
查询上获得更好的性能,我们计划在数据类型为 的列上添加索引timestamp
。由于索引也会降低插入的性能,我们做了以下性能测试:
我们在表中插入了 500 万条记录。那是最大值。我们期望在生产中的记录数。然后我们测量了在时间戳列上插入有索引和没有索引的 10000 条记录的时间。这是我们每天预期的最大插入次数,峰值每秒不超过 5 次插入。
结果如下:
至少对于本次测试,该指数仅略微降低了性能。对于我们的要求,我没有看到添加索引的问题。
但这只是实验室环境中的一项测试,在生产数据库上运行时是否还有其他陷阱?我们是否会遇到INSERT
在特定情况下突然需要超过 5 秒的情况?