Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];

Вниз

Будьте добры , подскажите пожалуйста:   Найти похожие ветки 

 
Sveta   (2003-10-06 09:42) [0]

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


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

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


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

> А чем поиск по большой базе через 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

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


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

[2] GreatMaster © (06.10.03 11:36)

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

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


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

[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 не попадут в набор.

:))


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

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


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

>GreatMaster © (06.10.03 11:36)

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


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

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


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

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

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

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

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

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

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



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
4-89633
Rel_
2003-08-22 14:40
2003.10.27
ClipCursor - что-то не работает


4-89650
Анюта
2003-08-20 11:40
2003.10.27
PrintScreen windows окна


7-89622
_man_
2003-08-12 15:30
2003.10.27
Как считать default-значение ключа реестра?


14-89516
Alexious
2003-10-07 12:52
2003.10.27
Учеба


7-89621
каркалыга
2003-07-30 14:20
2003.10.27
модем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский