Главная страница
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.02 c
4-47035
_andy
2003-03-14 15:45
2003.05.15
Файлы, используемые приложением на запись


4-47052
_BasiL_
2003-03-18 09:27
2003.05.15
Перехват потока открытия файлов


14-46945
Хороший человек
2003-04-21 20:51
2003.05.15
Посоветуйте, какой ник выбрать


14-46902
data
2003-04-28 11:01
2003.05.15
У нас кошка окотилась - 5 штук котят, такие хорошенькие:)),


9-46559
PaRL
2002-12-07 15:03
2003.05.15
OpenGL - примитивы