mk-archiver のヘルプから、「 」を最適化するオプションがあることがわかりますseek-then-scan
。彼らはどのようにこれを行うのですか?
私が本当に探しているのは、1 つの PKey とクエリを持つテーブルがあるかどうかです。
SELECT col1,col2 FROM tbl LIMIT 1,10;
SELECT col1,col2 FROM tbl LIMIT 11,20; ...
SELECT col1,col2 FROM tbl LIMIT m,n;
m
とn
が非常に大きな値であり、各選択クエリが複数のマシンから並行して開始される場合、最適化された方法でこれを行う方法はありますか? (ホスト/ネットワークのチョークについては後で対処します)
テーブルに PKey がない場合、他の人はどのように状況に対処しますか?
*MySQL を使用
デフォルトの昇順インデックス最適化により、mk-archiver は繰り返される SELECT クエリを最適化するため、毎回テーブルの先頭からスキャンするのではなく、前のクエリが終了したインデックスを探し、それに沿ってスキャンします。これは、通常、繰り返しアクセスする場合に適した戦略であるため、デフォルトで有効になっています。