Sequel gem 重新排序 postgres 数据库?

Sequel gem reorder postgres database?

我正在使用 Sequel gem 和一个包含 300k+ 个条目的 postgres 数据库。我试图按时间获取最早和最新的条目,但是我迁移了数据库,并且一些条目在时间上出现了混乱。

如果我使用 mydb[:items].firstmydb[:items].last,查询只需要几分之一秒。但是,就像我说的,它们的时间顺序不完整,所以可能会搞砸。如果我 运行 mydb[:items].order(:time).firstmydb[:items].order(:time).last,它可以工作,但完成每个查询需要更长的时间(大约六秒)。

有没有办法对数据库重新排序,使其自然按时间排序,这样我就不必 运行 命令命令了?还是我做错了什么?

如果您想按特定顺序获取记录,则必须使用顺序子句。如果没有提供排序子句,大多数数据库不保证顺序。

您应该根据将用于排序的字段为您的 table 编制索引。