Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Будьте добры , подскажите пожалуйста: [D5, IB6.x]


Sveta ©   (2003-10-06 09:42:00) 

Каким образом лучше реализовать поиск по большой базе IB6 через FIB + , заранее благодарна.


Sergey13   (2003-10-07 09:18:00) [1]

А по моему тут думать пока особо не над чем . В своем вопросе ты не сказала о своей задаче практически ничего нужного для решения.

>Каким образом лучше реализовать поиск по большой базе IB6 через FIB +

"лучше реализовать" - это очень субъективно. Главное правильно, т.е. что бы находилось ВСЕ что есть и соответствует критериям.

" поиск " - что за поиск? Одно дело отобрать записи по форинкею, и совсем другое найти частичное соответствие в БЛОБах.

"по большой базе IB6" - большая это скока точно в байтах. И что за база - статический набор данных типа телефонного справочника, или постоянно обновляемые таблицы?

" через FIB + " - это, как справедливо заметил Sergey_Masloff (06.10.03 09:58) [1] тут вообще ни при чем.


Sveta   (2003-10-06 14:35:00) [2]

от души благодарю за внимание, есть над чем подумать!


Johnmen   (2003-10-06 12:14:00) [3]

>GreatMaster © (06.10.03 11:36)

Хотелось бы узнать, при каких условиях первый запрос быстрее второго ?
И вообще, они неэквивалентны, о чем и сказал Danilka © (06.10.03 11:44).


Sergey_Masloff   (2003-10-06 11:58:00) [4]

GreatMaster © (06.10.03 11:36) [2]
Какое отношение приведенный тобой пример имеет к работе с параметрами и (боже упаси) фильтрами. В любом случае на сервер передается текст запроса а назад на клиента - результат. И какие при этом компоненты используются не так важно. Работа с параметрами по сравнению с временем обработки запроса в 99.99999% занимает пренебоежимо малый промежуток времени. Или ты часто встречал запрос в котором штук 100 параметров а результат - 1 запись с выборкой по индексу? ;-)
То что ты описал с выискиванием наибыстрейшего варианта - это просто неявная попытка планирования запроса. Кстати переписывать текст запроса зачастую не нужно - просто прописать план (в InterBase) или расставить хинты (Oracle).


Danilka   (2003-10-06 11:44:00) [5]

[2] GreatMaster © (06.10.03 11:36)
кстати, это будет не то-же самое.
вернут одинаковые данные (в орокле) такие запросы:

SELECT Table1.N, (SELECT NAME FROM Table2 WHERE Table2.N=Table1.N)
FROM Table1

и

SELECT Table1.N, Table2.Name
FROM Table1, Table2
WHERE Table1.N=Table2.N(+)

иначе, строки у которых поле Table1.N is null или посто не совпадает с Table2.N не попадут в набор.

:))


Danilka   (2003-10-06 11:40:00) [6]

[2] GreatMaster © (06.10.03 11:36)

>SELECT Table1.N, (SELECT NAME FROM Table2 WHERE Table2.N=Table1.N)
>FROM Table1

А разве в ИБ такой запрос отработает?
И причем здесь средство доступа, запрос выполняет сервер.


GreatMaster   (2003-10-06 11:36:00) [7]

> А чем поиск по большой базе через FIB+ отличается от поиска по такой же базе через, например, IBX
Тем что там могут немного отличаться св-ва/методы при работе с фильтром и запросами с параметрами. Ну фильтр ваще использовать нельзя, а вот запросы можно попереписывать, выискивая наибыстрейший вариант (предварительно проиндексировав базу, конечно), так например, при прочих равных условиях запрос
SELCT Table1.N, (SELECT NAME FROM Table2 WHERE Table2.N=Table1.N)
FROM Table1
может работать значительно быстрее чем тоже но
SELECT Table1.N, Table2.Name
FROM Table1, Table2
WHERE Table1.N=Table2.N

и всё такое...


Sergey_Masloff   (2003-10-06 09:58:00) [8]

Хороший вопрос. А чем поиск по большой базе через FIB+ отличается от поиска по такой же базе через, например, IBX? Лично я (из применимых на практике)методов знаю только использование SELECT. Если база большая и выборки не очень быстро идут то почитайте про индексы и планы запросов, в том числе и про явное указание планов запроса.


Наверх

Титульная страница Поиск, карта сайта Написать письмо