Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Объединение вложенных запросов SELECT
 
 автор: p.pavluxa   (21.08.2012 в 14:37)   письмо автору
 
 

Здравствуйте, уважаемые пользователи форума!
У меня имеется две таблицы.

Первая таблица (Users) имеет такие поля:
int ID
....

Вторая таблица (History) имеет такие поля:
int ID
int userID
....


Небходимо вывести с таблицы History все поля + найти userID в таблице пользователей и от туда вытащить 2 поля.

Можно поступить так:
SELECT *, (SELECT field1 FROM `Users` WHERE `ID` = `History`.`userID`) as field1, (SELECT field2 FROM `Users` WHERE `ID` = `History`.`userID`) as field2 FROM `History`

Но как по мне это ресурсоёмко, если учесть что записей в таблице history порядка 100 тысяч. Какие есть варианты объединения двух вложенных селект.

  Ответить  
 
 автор: Lotanaen   (21.08.2012 в 15:27)   письмо автору
 
   для: p.pavluxa   (21.08.2012 в 14:37)
 

а такой вариант разве не подходит?


SELECT `History`.*, `Users. field1,`Users.field2  FROM `Users`,`History` WHERE `Users`.`ID` = `History`.`userID` 

  Ответить  
 
 автор: p.pavluxa   (21.08.2012 в 17:41)   письмо автору
 
   для: Lotanaen   (21.08.2012 в 15:27)
 

Это будет менее ресурсоёмко?

  Ответить  
 
 автор: Sfinks   (21.08.2012 в 21:31)   письмо автору
 
   для: p.pavluxa   (21.08.2012 в 17:41)
 

Выполните EXPLAIN обоих запросов на реальных объёмных таблицах и покажите. Но, скорее всего да - менее ресурсоемко.

  Ответить  
 
 автор: p.pavluxa   (24.08.2012 в 14:25)   письмо автору
 
   для: Sfinks   (21.08.2012 в 21:31)
 

Супер! Работает в три раза быстрей!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования