Я хочу использовать b-дерево для индекса, но не могу придумать решение для запроса OR.
Для запроса OR я имею в виду что-то вроде select * из таблицы, где id от 1 до 5ИЛИ идентификатор между 10 и 15;
если я использую идентификатор в качестве ключа в b-дереве, то как я могу выполнить запрос, аналогичный приведенному выше, для b-дерева?
при поискеb-дерево, предположим, что ключ меньше 6 и больше 6 находится на разных поддеревьях, чем когда путь поиска проходит через поддерево, связанное с ключом меньше 6, т. е. от 1 до5 можно извлечь, но как насчет идентификатора, который между 10 и 15?
Должен ли я использовать дерево b +, и когда я нашел ключ, указывающий на идентификатор 1, я просто продолжил сканирование листаузлы один за другим, пока я не нашел ключ, который указывает на идентификатор 15?Это плохое решение для этого типа запроса: выберите * из таблицы, где идентификатор от 1 до 5 ИЛИ идентификатор от 10000000 до 10000005 ???
Или есть другие решения?
Спасибоочень сильно!