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

Форум MySQL

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

 

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

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

тема: Как правильно выбрать результат из нескольких таблиц одним запросом?
 
 автор: Giga   (30.07.2008 в 13:01)   письмо автору
 
 

Все вроде правильно при запросе вида
SELECT users.*, post.* FROM users, post WHERE users.login='$login' &&  users.pass='$pass' users.login=post.sentto
- что предпологает провести одновременно авторизацию юзера в таблице users и одновременно загрузку новых писем адресованных данному юзеру в post.
В случае если логин и пароль правильный users в любом случае вернет результат, а вот если писем нет для этого юзера то весь запрос включая запрос к users вернет bool(false) иначе полный ноль!
Этот пример образный, реально в сценарии все сложнее и возникает потребность выборки из 2,3 и даже 4 таблиц одновременно. Причем нужно получить результат из таблицы 1 независимо от того есть ли результат в таблице 3. При этом с определенными условиями WHERE, GROUP BY, HAVING ...
Можно было бы не ломать конечно голову и сделать для каждой таблицы отдельный запрос и обработку результата. Но когда серевер Quad Xeon 4x2,4 ГГц работает с Load Average 2-3 то приходится экономить на всем, в том числе на количестве запросов к базе данных. Сейчас добился 280 в секунду, было до 400. И ищу возможности для дальнейшего снижения нагрузки.

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

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