джойн или запрос в цикле

4m@t!c

Александр
Спасибо, что разрешили задать вопрос.
Скорее всего мой вопрос - следствие неопытности и плохое знание предмета. Я понимаю, что результат объединения двух таблиц - есть таблица. Мне тяжело смоделировать ситуацию.
Как вариант, например, если у результирующей таблицы будет большое кол-во полей и строк, то такая таблица будет долго формироваться и займет часть ресурсов и процессорного времени. Если делать слогаемые большого запроса (например, цикл в цикле), то нагрузка рапределится более ровномерно.
К чему я виду. К тому, что
1. цикл в цикле и работа с условным оператором - методы равноценные и зависят от конкретной задачи
2. результирующая таблица должна быть нереально больших размеров, что бы склонится к варианту цикл в цикле.
3. мои соображения - бред и нужно учить матчасть и больше эксперементировать?
 

Фанат

oncle terrible
Команда форума
если у результирующей таблицы будет большое кол-во полей и строк, то такая таблица будет долго формироваться и займет часть ресурсов и процессорного времени. Если делать слогаемые большого запроса (например, цикл в цикле), то нагрузка рапределится более ровномерно.
не понял логики.

3. в части матчасти.

первое вообще не понял.

-~{}~ 13.01.05 23:58:

ну сколько раз говорить? свой вопрос - свой топик.
 

vladax

Новичок
4m@t!c
Блин. Прочитал раз двадцать, пытаясь к заветной прикоснуться Тайне...
Поясни на примерах что-ли.
 

4m@t!c

Александр
Спасибо, что поправили за тред, просто я не знаю , как правильно на основе чужого топика - свой сделать.
Фанат в треде http://phpclub.ru/talk/showthread.php?s=&threadid=60923&rand=28
взял да и сделал ОДИН запрос к БД и с ним отработал за один цикл.
Если бы я решал эту задачу, то я бы сделал цикл в цикле, т.е. у меня бы не было поиска повторяющегося раздела, а был бы внешний цикл - перебор разделов, а внутренни цикл - перебор подразделов конкретного раздела.. Т.е. у меня был бы не один запрос к базе, а надцать, точней равный кол-ву раделов+1.
Я почувстоввал себя полным бараном, что я не использую вариант, которым так лихо воспользовался Фанат. Вот и стало мне обидно за себя, что я такой тупоголовый. И возник у меня вопрос. На сколько бездарен и глуп цикл в цикле с кучей мелких запросов, по сравнению с одним большим запросом. Падет ли выбор на алгоритм " цикл в цикле", если будет большая выборка?
надеюсь, я объяснил, что хочу узнать? Извините, если туплю....
 

vladax

Новичок
4m@t!c
Cпособность определять связи между многочислеными таблицами внутри одной команды - это имхо один из основополагающих принципов и частых операций в реляционных базах данных. Не нужно этого бояться.
Если я правильно понял.
 

Фанат

oncle terrible
Команда форума
я могу сделать два варианта.
в первом подзапросы будут быстрее, во втором - запрос.
О чем это говорит? О том, что не бывает идеального решения, а вопросы "кто сильнее - кит или слон" задают только юные почемучки.

Однако, с архитектурной точки зрения, объединение таблиц более предпочтительно. А предпочтительные с архитектурной точки зрения решения прелестны тем, что не устроят нам задницу в один прекрасный момент.
к примеру, делали мы подзапросами. и решили сделать постраничный вывод. Проблем бы не было, если бы сразу делалось по-человечески.
 

4m@t!c

Александр
vladax, на сколько я понял ответ - да, ты правильно понял.
Фанат, vladax, спасибо за терпение и объянение.
 
Сверху