Форум: "Базы";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
ВнизПомогите составить правильный 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c