Форум русской поддержки Joomla!® CMS
17.08.2017, 03:41:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Какой запрос лучше - Joomla 3.6.5 +JoomShopping 4.15 + 1С Предприятие?

 (Прочитано 251 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tuzemec
Давно я тут
****

Репутация: +26/-0
Offline Offline

Пол: Мужской
Сообщений: 225


Ня!


« : 28.01.2017, 15:30:26 »

Итак. Имеется БД, к которой будет подключаться 1С Предприятие и обновлять/получать данные по заказам и товарам. Периодичность обновления данных 2-3 часа.
Так вот какое написание запроса будет более правильным?
Код
//ХЗ КАКОЙ ЗАПРОС ЛУЧШЕ
//1
$db->setQuery ( "SELECT * FROM  `#__".DBBASE."_orders` AS a,  `#__".DBBASE."_order_status` AS b WHERE a.`order_status` = b.`status_id` AND b.`status_code` =  'P'");
 
//2
$db->setQuery ( "SELECT * FROM `#__".DBBASE."_orders` a RIGHT JOIN `#__".DBBASE."_order_status` b ON a.`order_status`= b.`status_id` WHERE b.`status_code` LIKE 'P'");
 
Оба запроса как вы видите получают один и тот же результат. Но что бы вы посоветовали использовать и почему?
« Последнее редактирование: 29.01.2017, 19:13:07 от Tuzemec » Записан
voland
Профи
********

Репутация: +520/-101
Offline Offline

Пол: Мужской
Сообщений: 9931


СКАЙП утерян! Пишите в телеграм @volandku


« Ответ #1 : 28.01.2017, 22:53:44 »

Дабы не создавать новую тему, задам интересующий вопрос здесь.
Не надо так делать!
Читать 30 постов вначале чтоб потом наткнуться на "дабы не создавать новую тему" отниму 5 минут времени!

Вынес в отдельную тему
Записан
ChaosHead
Профи
********

Репутация: +409/-13
Offline Offline

Пол: Мужской
Сообщений: 4742



« Ответ #2 : 28.01.2017, 23:02:19 »

Лучше тот запрос, который работает быстрее.
Записан
Septdir
Практически профи
*******

Репутация: +106/-0
Online Online

Пол: Мужской
Сообщений: 2117



« Ответ #3 : 29.01.2017, 01:22:39 »

ну без самой таблицы не понять, а так * не  всегда хорошо. И какой смысл like если там = . По остальному хз ни когда не делал таких замеров да и врядли кто-то делал, так какой быстрее тот и лучше.
Записан
beliyadm
Профи
********

Репутация: +1590/-63
Offline Offline

Пол: Мужской
Сообщений: 8447


Севастополь == Россия


« Ответ #4 : 29.01.2017, 13:27:02 »

Подключение таблицы через JOIN с указанием связки полей через ON правильный подход, через WHERE плохой
Так что я выбираю второй запрос.
А так вообще делается просто - выполнили оба и сравнили время выполнения
Записан
Tuzemec
Давно я тут
****

Репутация: +26/-0
Offline Offline

Пол: Мужской
Сообщений: 225


Ня!


« Ответ #5 : 29.01.2017, 19:06:08 »

Спасибо за поправки и вынос в отдельную тему. Не хотелось выносить в отдельную тему т.к. вопрос касался производительности (нагрузки) сайта. В общем пишется скрипт для связки Joomla 3.6.5 +JoomShopping 4.15 который будет обрабатывать данные, полученные от 1С Предприятие посредством стандарта CommerceML 2. Скрипт будет обрабатывать и отправлять полученные от 1С данные, отправленные через стандартный "Обмен с сайтом 1С-Битрикс". И я вам скажу, обмен заказами реализован. Так что в ближайшее время появится решение, которое позволит без вмешательства в 1С, код Joomla и JoomShopping связать, на первый взгляд, не связуемое =)
В скором времени предложу решение на форуме. Правда небесплатно. Но гарантированно по цене в разы ниже, чем сейчас предлагают на просторах рунета.

Что касается запроса. Потестил в phpMyAdmin. На мой взгряд на результаты данных, полученные от phpMyAdmin, второй вариант работает быстрее. Пользую его, тем более в документации Joomla указан именно такой подход к запросам.
« Последнее редактирование: 29.01.2017, 19:10:21 от Tuzemec » Записан
beliyadm
Профи
********

Репутация: +1590/-63
Offline Offline

Пол: Мужской
Сообщений: 8447


Севастополь == Россия


« Ответ #6 : 29.01.2017, 21:01:17 »

второй вариант работает быстрее.
Правильно, потому что JOIN ON работает быстрее нежели JOIN WHERE
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet