Предположим, что имеется таблица T со столбцом C, индексированным B-деревом, и заданная константа k. Предположим, что результатом следующего запроса будет n:
select count(*) from T where C > k;
Я попробовал такой запрос в MySQL (InnoDB) со столбцом C, индексированным B-деревом, и понял, что чем больше значение n, тем медленнее запрос. На большом столе (Гб) мне приходится ждать даже минуты. Итак, я предполагаю, что временная сложность линейна по отношению к n. Но я знаю, можно ли хранить совокупную информацию о внутренних узлах B-Tree, что можно сделать за логарифмическое время по отношению к размеру таблицы.
Может ли кто-нибудь предложить любую СУБД с реализованным логарифмическим решением или какой-либо трюк для сокращения времени запроса в MySQL?