Re: Поиск ближайшего
От | Evgeny M. Baldin |
---|---|
Тема | Re: Поиск ближайшего |
Дата | |
Msg-id | Pine.LNX.4.58.0504062045020.31034@star.inp.nsk.su обсуждение исходный текст |
Ответ на | Re: Поиск ближайшего (Oleg Bartunov <oleg@sai.msu.su>) |
Список | pgsql-ru-general |
Добрый день On Wed, 6 Apr 2005, Oleg Bartunov wrote: > кстати, а сколько всего записей без ' limit 1' ? > Если там много, то чудес нет, сортировать десятки тысяч записей требуется > время. Поэтому тебе надо использовать range, т.е. задать разумный > нижний предел и не париться. Это дело приложения и серого вещества > разработчиков приложения. У нас данные эксперимента за несколько лет (пока три года - будет больше) и их все может потребоваться обработать с учёт данных калибровок и медленного контроля. А число записей очень по разному - от штук, до десятков тысяч. Модифицировать поведение для каждой таблицы не получится - слишком их много, меня одного мало :). > Другое дело, и мы пару раз этот вопрос поднимали, что limit на самом деле > является синтаксической затычкой, т.е. все вытаскивается, сортируется > согласно order by, а потом тупо и грязно вытаскиваются необходимые данные. > На самом деле, все можно делать по уму, т.е. использовать partial sort, > например, в твоей задаче надо вытащить только 1 строчку, а про все остальные > тебе совсем не важно, поэтому и сортировку можно остановить. > Есть и еще алгоритмы. А ключевым словом, к твоей задаче является > 'top-k query' и на этк тему написаноо куча работ. Мы с Федей Сигаевым > года три назад даже патч сделали, но тогда его не приняли из-за его > плохой реализации. Хорошо - посмотрю :( Как-то не очень оптимистично. С уважением Евгений
В списке pgsql-ru-general по дате отправления: