Алгоритм поиска информации в куче связанных таблиц
|
|
Четверг, 02 Апреля 2015 г. 09:47
+ в цитатник
День добрый всем!
Порекомендуйте пожалуйста алгоритм поиска информации в куче связанных таблиц.
Есть главная таблица с большим числом (более 10) связанных отношением "один-ко-многим" таблиц.
Необходимо отобрать записи из главной таблицы, удовлетворяющие критерию, сформированному на основе полей ВСЕХ таблиц (главной и связанных).
В случае, когда была одна главная таблица и пара связанных с ней дочерних табличек с количеством записей в главной менее 1тыс задача решалась "тупо-в-лоб": был построен общий запрос, отбирающий записи из всех таблиц и уже к нему применялся сформированный критерий, т.е. была инструкция вида
Select MainTable.ID From [Общий_Запрос] Where MainTable.F1=val1 And MainTable.F2=val2 And ChildTable1.F1=val3 Or ChildTable2.F2=val4 ...
Еще раз повторюсь: когда была одна главная таблица и пара связанных с ней дочерних табличек с количеством записей в главной менее 1тыс все работало нормально и скорость выполнения такой инструкции всех устраивала. Когда же база разрослась, в главной таблице количество записей перевалило за 100тыс., да еще добавилось более 10 дочерних таблиц тоже с немалым числом записей, такой подход уже не прокатывает, т.к. общий запрос, объединяющий в себе все таблицы получается ооооочень тяжелым.
Подскажите пожалуйста как организовать поиск информации по всем таблицам в данном случае.
Спасибо заранее!
http://www.sql.ru/forum/1150098/algoritm-poiska-informacii-v-kuche-svyazannyh-tablic
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-