Почему БД, ориентированная на строки, не может выполнять индексацию, подобную структуре БД, ориентированной на столбцы
С этой вики-страницы: http://en.wikipedia.org/wiki/Column-oriented_DBMS
У меня сложилось впечатление, что причина, по которой ориентированная на столбцы база данных извлекает записи, удовлетворяющие определенному условию, быстрее, чем индексированная ориентированная на строки база данных, заключается в отображении.
Таким образом, индексирование столбца сохраняется следующим образом: 1: бот 2: человек 3: бот
С другой стороны, база данных, ориентированная на столбцы, хранит столбец, подобный следующему: бот: 1,3 человек: 2
Итак, почему база данных, ориентированная на строки, не может создать индекс, подобный базе данных, ориентированной на столбцы.
1 ответ
Программное обеспечение базы данных может хранить данные в более чем одном формате, и часто это происходит. Например, в SQL Server вы можете иметь столбчатые и строчные индексы для одной и той же таблицы. Поэтому неверно, что СУБД должна решить выбрать один формат, а не использовать другой.
Фактически такой индекс можно легко определить даже с помощью индексов на основе строк. Просто индекс на IsBot, ID
(при условии, что два столбца в вашем примере названы так). Этот индекс может легко удовлетворить фильтрацию запросов IsBot
,