From: | Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> |
---|---|
To: | "Evgeny M(dot) Baldin" <E(dot)M(dot)Baldin(at)inp(dot)nsk(dot)su> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: Поиск ближайшего |
Date: | 2005-04-06 10:34:43 |
Message-ID: | Pine.GSO.4.62.0504061431110.9870@ra.sai.msu.su |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
---559023410-824023566-1112783683=:9870
Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed
Content-Transfer-Encoding: 8BIT
Евгений,
так дело не пойдет и никто вам не поможет. Несмотря на то, что вы описали
постановку задачи, вы совсем ничего не сказали о системе, постгресе,
а последний запрос ввобще проигнорировали. Нужно сообщать как минимум:
1. Система
2. версия постгреса
3. структура таблицы (\d tablename)
4. запрос + explain analyze
Думаю, что это доступно и не программисту и уж совсем не требует крови.
Олег
On Wed, 6 Apr 2005, Evgeny M. Baldin wrote:
> Добрый день
>
> Так уж случилось, что на эксперименте для целей медленного контроля и
> калибровок стали использовать PostgreSQL. К сожалению средство оказалось
> не совсем адекватным для нужным нам целей.
>
> Преамбула: ключом является время BeginTime. Запросу тоже передаётся
> время Time. По запросу необходимо выдернуть ближайшую по времени запись,
> где BeginTime<=Time (назовём эту запись валидной для Time)
>
> Амбула: Запрос представляет из себя фразу типа:
>
> select * from таблица where BeginTime<=Time
> order by BeginTime desc limit 1;
>
> Индексы работают, одиночные запросы проходят более-менее быстро, хотя тоже
> хотелось бы побыстрее.
>
> А вот попытка сопоставить валидные записи для массива времён, особенно
> когда число записей в таблице превышает десятки тысяч наступает полный :(
>
> Что хотелось бы: когда идёт поиск для какого-то числа на предмет
> равенства, то используется бинарный поиск - это быстро. Хотелось бы иметь
> поиск подобного рода, но не на предмет поиска точного значения, а на
> предмет поиска ближайшего. Как я понимаю по числу действий это тоже самое,
> просто надо помнить предыдущее число.
>
> То есть нужен оператор типа равенства - назовём его CLOSE TO для работы с
> временными данными, стой же самой скоростью работы для быстрого
> сопоставления.
>
> С уважением
> Евгений
>
> P.S. Я не программист - я пользователь, поэтому хотелось бы получить
> результат малой кровью.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
---559023410-824023566-1112783683=:9870--
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Bertheau | 2005-04-06 11:20:04 | Re: вопрос |
Previous Message | Teodor Sigaev | 2005-04-06 09:50:38 | Re: Поиск ближ |