私はこれに対する答えを探し回りましたが、見つけられた唯一の参照は、% (モジュロ) を含む演算子が"sargable" (つまり、演算子が操作していたインデックスを使用できる) であることを示唆するあいまいなフォーラム投稿でした。
ただし、モジュロを使用してプロセスを並列化すると、主キー フィールドであっても、モジュロがオンになっているインデックスが使用されないように見える状況がいくつかあります。これは、オプティマイザがテーブル スキャンのほうがコストがかからないと判断したためかもしれませんが、インデックスを排除する理由を特定するのは困難です。
決定的な答えを持っている人、または同様の経験を共有している人はいますか?
Postgres / EDB v9.3
ティア。
編集など
CREATE TABLE my_table(id bigint, othercolumn varchar(50), PRIMARY KEY(id))
...x 百万のレコードをテーブルに挿入...
SELECT othercolumn from my_table where id % 1000 = 0