Re: Поиск ближайшего - Mailing list pgsql-ru-general

From Evgeny M. Baldin
Subject Re: Поиск ближайшего
Date
Msg-id Pine.LNX.4.58.0504062045020.31034@star.inp.nsk.su
Whole thread Raw
In response to Re: Поиск ближайшего  (Oleg Bartunov <oleg@sai.msu.su>)
List 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 by date:

Previous
From: "Evgeny M. Baldin"
Date:
Subject: Re: Поиск ближайшего
Next
From: Oleg Bartunov
Date:
Subject: Obnovlenie stat'i