optimize_limit_by_function_keys
LIMIT 5 BY x, f(x) は LIMIT 5 BY x になります。
optimize_limit_by_in_order
<cols> が (順不同で) テーブルのソートキーのプレフィックスを構成する場合、または WHERE col = const によって先頭のカラムが固定され、その結果プレフィックスになる場合に、SELECT ... LIMIT N BY <cols> クエリを最適化します。これを有効にすると、ログソースはプライマリキー順にデータを読み取るため、BY カラムの値が同じ行は各ストリーム内で隣り合って到着します。データが単一のソート済みストリームとして到着する場合、LIMIT BY は、出現した BY カラムの異なる組み合わせごとに hash table を構築する代わりに、O(1) メモリのストリーミングモードでフィルタリングします。ソート済みデータが複数のストリームに分かれて到着し、同じ BY の値が複数のストリームに現れる可能性がある場合は、まず各ストリームをストリーミングモードでグループごとに最大 LIMIT + OFFSET 行まで事前にフィルタリングし、その後ストリームを結合して、最後に hash ベースの LIMIT BY で複数のストリームにまたがるグループを重複排除します。この最終パスでも、BY カラムの異なる組み合わせごとに 1 つのエントリを保持しますが、処理するのは事前にフィルタリング済みの行だけです。