|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Serguei Tarassov 2:5020/400 17 Apr 2003 01:35:01 To : Eugeney Putilin Subject : Re: БД в тopгoвлe -------------------------------------------------------------------------------- Доброго дня, Eugeney! Hа письмо к Serguei Tarassov от Wed, 16 Apr 2003 05:17:28 +0000 (UTC): EP> А как расматривать такой вариант, большой оптимизированный запрос EP> делающий обработку нескольких милионов (индексированных )записей. EP> Результат несколько десятков строк. Очень легко добавить к нему пару EP> условий. И запросить по новой. Hо как учитывать то что например в IB, EP> запрос выполняеться не сразу выполнился отдал часть ResultSet. если EP> есть попытка перейти к следующей записи опать идет следующеё EP> подмножество. Это очень хоро повлияет на поиск по первым буквам. EP> Следующая предпосылка, допусти есть большой запрос, мы его результат EP> записываем в временную таблицу. Потом все сортировки и подмножества EP> запроса делаем выборку из него? За счет очень *умного* сервера который EP> анализирует паралельные запросы это можно проспустить. Аналогично мы EP> получем резальтат когда SQL сервер делает tempalet table. А клиентски EP> DataSet, уже местные выборки? Hе понял ситуацию. Итак, имеем резалтсет, который возвращается после сложного (и долгого) запроса. Чтобы дофильтровать или пересортировать его можно 1. Повторить запрос к СУБД с другими условиями 2. Обработать на клиенте. Я обращаю внимание, что п.1 можно сделать _всегда_. Т.е. это _общий_ случай. Если в данном конкретном случае: а) время отклика критично б) дофильтрация _гарантированно_ приводит к тому же результату, что и при повторном запросе к СУБД (напомню, что запрос к ней _сложный_, поэтому возможны нелинейные связи) То необходимо делать такую дофильтрацию, основываясь на этих допущениях, как на _частном_ случае. Т.е. имеем оптимизацию в чистом виде. EP> В догонку вопрос а как быть с сортировками? EP> а)Делать выборки с разными Order By EP> б)Сортировать на клиенте? EP> У меня в программе сортрика сделана на уровне TableModel. (Java EP> JTable). Всунуть туда вариант а) юылобы трудновато, а так сортировкой EP> по столбцу заниамет компонент отдоситься к GUI(часть EP> Component-Model-View) У меня есть давнее сомнение, что при использовании компонентов типа Table можно вообще что-то делать _HЕ_ на клиенте. -- Сергей Тарасов Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev4 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/64887a1f077a.html, оценка из 5, голосов 10
|