Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

Помогите составить правильный SQL запрос.   Найти похожие ветки 

 
galexis ©   (2003-04-24 16:29) [0]

Имеется таблица, в которой большинство данных ID на другие таблицы и справочники. Пишу запрос:
SELECT DISTINCT A.Fld1,B.NAME,F.NAME as NAME2
FROM Table1 A
LEFT JOIN Table2 B ON B.ID1=A.ID1
LEFT JOIN Table3 F ON F.ID2=A.ID2
Where (B.Name LIKE ""%"" || "+""""+Name.Text+""""+" || ""%"")
Все работает отлично.
Но если я добавляю связь с еще одной таблицей:
SELECT DISTINCT A.Fld1,B.NAME,F.NAME as NAME2,G.NAME as NAME3
FROM Table1 A
LEFT JOIN Table2 B ON B.ID1=A.ID1
LEFT JOIN Table3 F ON F.ID2=A.ID2
LEFT JOIN Table4 G ON G.ID3=A.ID3
Where (B.Name LIKE ""%"" || "+""""+Name.Text+""""+" || ""%"")

Тогда запрос выполняется очень долго. Где здесь ошибка?


 
NAlexey ©   (2003-04-24 16:33) [1]

Смотри план запроса и оптимизируй.


 
Johnmen ©   (2003-04-24 16:37) [2]

Что ты называешь ошибкой ?
А выполняется долго из-за большого количества записей в Table4.


 
galexis ©   (2003-04-24 16:49) [3]

>NAlexey ©
Что значит "Смотри план запроса" ,где то можно посмотреть как выполнялся запрос?

>Johnmen ©
Записей в Table4 всего около 2000. Вот в Table2 порядка 40 000. Имеет ли значение в каком порядке написаны JOIN? Может поменять местами связывание каких либо таблиц?


 
NAlexey ©   (2003-04-24 17:00) [4]

>Что значит "Смотри план запроса" ,где то можно посмотреть как выполнялся запрос?
Э-э-э...М-м-м.. Точно! Я не знаю какая у тебя DB. В MSSQL план запроса можно посмотреть в Query Analyzer. Выявить так сказать слабые места и узнать какое именно место из запроса отнимает больше всего времени и ресурсов.


 
Johnmen ©   (2003-04-24 17:05) [5]

galexis © (24.04.03 16:49)

План запроса - см. закладку в интерактивном SQL из IBConsole

>Может поменять местами связывание каких либо таблиц?

Поменяй, посмотри...:) Никто же не мешает...


 
kravchuk ©   (2003-04-24 17:40) [6]

план запроса рекомендую смотреть в IBExpert, так красиво все графически, понятно и наглядно, я всегда в нем оптимизировал запросы


 
galexis ©   (2003-04-24 18:01) [7]

kravchuk ©
А что это за IBExpert? Где его взять?


 
kravchuk ©   (2003-04-24 18:09) [8]

galexis ©
IBExpert самая лучшая (имхо) утилита для работы с ИБ, просто супер прога, для хUSSR на шару
http://www.ibexpert.com/download/ibet_2.5.0.22_full.exe



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

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-46638
KPP
2003-04-24 13:51
2003.05.15
Кверя+ДбГрид; изменение из грида; контроль ввода


14-47002
Skier
2003-04-28 09:44
2003.05.15
Игры разума


1-46815
YurA
2003-05-01 22:16
2003.05.15
QReport


14-46979
Scorpx
2003-04-27 11:57
2003.05.15
САЙТ ВОССТАНОВЛЕН!!!


14-47000
AZ
2003-04-26 23:18
2003.05.15
---|Ветка была без названия|---