Здравствуйте, tpg, Вы писали:
tpg>C 50 лимонами искомых отрезков куда входит 1 точка любой алгоритм уснет, самый эффективный — тупой таблескан.
tpg>Приведенный мной алгоритм, как и любой индексный поиск эффективен лишь при достаточно малом числе вхождений в общее множество (высокая избирательность индекса). А вот тут, думаю, оптимизаторы и должны сказать свое слово в выборе алгоритма.
а, я не заметил индекса. Тем не менее, речь идет о том, что скалярный индекс здесь рискует оказаться малоэффективным. Грубо говоря, при поиске отрезков, покрывающих точку c координатой = MAX(l_bord) индекс скан захватит все точки. Для точек близких к "левой границе" сканирование ограничится достаточно небольшим подмножеством.
Для данной задачи можно ввести два индекса — (L, R) и (R, L) и надеяться на то, что оптимизатор выберет лучший в зависимости от значения @point. Тем не менее, для точек близких к середине производительность все равно будет неоптимальной.
tpg>Или мы про разное?
Я имею в виду пятьдесят миллионов отрезков. Объем результата, конечно же, зависит от распределения данных.
... << RSDN@Home 1.1.4 stable rev. 510>>