Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Составление SQL-запросов > [MySQL]mysql что лучше JOIN или одиночная выборка |
Автор: neoks 11.1.2013, 16:13 | ||||
Всегда интересовал такой вопрос, как улучшить выборку, использую стандартный метод
Но наткнулся на JOIN и можно сделать все это одним запросом
Скажите какой из этих вариантов лучше и не будет тормозить бд, склоняюсь к JOIN так как мне кажется чем меньше запросов тем лучше )) |
Автор: Arantir 11.1.2013, 16:22 |
Чем меньше запросов, тем лучше. Но без фанатизма =) В первом случае для каждого SELECT будет проводится новый поиск по таблице. В то же время во втором случае, что не сложно заметить, все может быть осуществлено всего лишь за один проход. Итого разница примерно в N раз, где N - количество выбираемых записей. |
Автор: neoks 11.1.2013, 16:42 | ||
То есть JOIN тут в самый раз )) еше вопрос такой, скажем мне нужно подсчитать количество записей в разных таблицах, сейчас я юзаю очень просто
И так для 11 таблиц и того 11 запросов, как тут лучше, будет ли лучше использовать JOIN и вопрос как правильно написать ? ) |
Автор: Aliance 11.1.2013, 17:07 | ||
Одним запросом
получаешь массив count`ов, дальше в цикле выбираешь по нужному cid. По-моему тема никак не относится к php, вопрос чисто по sql |
Автор: neoks 11.1.2013, 17:12 | ||
А вот теперь я попал в тупик, скажем нужно объединить 3 таблицы и вытащить только те записи которые мне нужны )
Вытаскивает все записи где есть совпадениея images.cid=users.id и добовляет еше записи где images.id Как ему сказать что нужно вытаскивать только эти images.id и их ID юсеров ? ) Добавлено через 2 минуты и 33 секунды Да сори, чет ступил )) не поглядел куда пишу ) Но мне нужно подсчитать из таблицы images,users,pages, и дт все 11 или оставить как есть одни запрос на каждую таблицу ? ) |
Автор: neoks 11.1.2013, 18:36 |
Ага все разобрался, это я просто не то чет написал и чет коряво отображало, Спасибо за ответы буду дальше оптимизировать запросы )) |
Автор: Zloxa 11.1.2013, 20:19 |
Какой милый топик. Давно с такими не встречался. Zloxa стирает скупую мужскую слезу умиления. Спасибо за добрые эмоции. |