Re: Поиск ближайшего - Mailing list pgsql-ru-general
From | Oleg Bartunov |
---|---|
Subject | Re: Поиск ближайшего |
Date | |
Msg-id | Pine.GSO.4.62.0504061431110.9870@ra.sai.msu.su Whole thread Raw |
In response to | Поиск ближайшего ("Evgeny M. Baldin" <E.M.Baldin@inp.nsk.su>) |
Responses |
Re: Поиск ближайшего
|
List | 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@postgresql.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@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83 ---559023410-824023566-1112783683=:9870--
pgsql-ru-general by date: