Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Объединить два запроса в один

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pro_xaoc
Отправлено: 03 Апреля, 2014 - 13:52:15
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Приветствую всех!

Как возможно объединить два запроса в один:

1)
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT articles.category,
  2. articles.id,
  3. articles.title,
  4. articles.publication,
  5. articles.author,
  6. articles.access,
  7. articles.add_date,
  8. categories.description FROM articles LEFT JOIN categories ON articles.category=categories.id LIMIT 0,:lim_end


2)
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(*) FROM articles


Заранее спасибо!
 
 Top
3d_killer
Отправлено: 03 Апреля, 2014 - 14:01:57
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




уже обсуждалось, лучше не стоит их объединять
 
My status
 Top
pro_xaoc
Отправлено: 03 Апреля, 2014 - 14:03:47
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Я к тому, чтобы при вызове функции не создавалось два запроса ( - производительность), а одним запросом достать данные и дальше обработать.
Почему не стоит объединять?

(Отредактировано автором: 03 Апреля, 2014 - 14:04:23)

 
 Top
3d_killer
Отправлено: 03 Апреля, 2014 - 14:07:21
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




у меня была похожая ситуация только запросы больше в разы и 2 запроса выполняются моментально, пробовал объеденить в зависимости от количества данных выполняться запрос стал дольше от секунды и более.
Здесь вы выиграете в производительности если сделаете 2 запроса, а для информации - SQL_CALC_FOUND_ROWS вот про эту функцию почитайте
(Добавление)
это у вас запросы количество записей всего и с лимитом чтобы я так понимаю разбить на страницы. делайте двумя
 
My status
 Top
pro_xaoc
Отправлено: 03 Апреля, 2014 - 14:15:16
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




3d_killer, да верно, хотел разбить на страницы. Спасибо за помощь, про SQL_CALC_FOUND_ROWS уже изучаю. Кстати, каким образом можно проверить скорость выполнения запроса?

(Отредактировано автором: 03 Апреля, 2014 - 14:16:05)

 
 Top
3d_killer
Отправлено: 03 Апреля, 2014 - 14:17:25
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




например в SQL менеджере каком нибудь phpmyadmin или heidiSQL
 
My status
 Top
pro_xaoc
Отправлено: 03 Апреля, 2014 - 14:18:51
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Точно, спасибо.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB