テーブル T があり、列 C が B ツリーによってインデックス付けされ、定数 k が指定されているとします。次のクエリの結果が n になると仮定します。
select count(*) from T where C > k;
MySQL(InnoDB) で、B ツリーによってインデックス付けされた列 C を使用してこのようなクエリを試してみたところ、n の値が大きいほど、クエリが遅くなることがわかりました。大きなテーブル (GB) では、数分も待たなければなりません。したがって、時間の複雑さは n に関して線形であると推測します。しかし、テーブルのサイズに関して対数時間で実行できる B ツリーの内部ノードに関する集計情報を格納するかどうかはわかっています。
対数ソリューションが実装された DBMS や、MySQL でのクエリ時間を短縮するためのトリックを誰か提案してもらえますか?