Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.01 c
3-46587
Silver_
2003-04-23 12:23
2003.05.15
Дублирование записей в таблице через SQL


3-46641
Hedgehog
2003-04-24 16:49
2003.05.15
ADO ConnectionString


14-46899
Yanis
2003-04-26 23:08
2003.05.15
Что за Windows?


1-46747
Max1111
2003-05-05 11:21
2003.05.15
Про меню, путь (помогите plizzzz)


1-46686
Serg!
2003-05-03 19:04
2003.05.15
Куда деваются символы?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский