Новости Joomla

Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9

Релиз безопасности Joomla 6.1.4 и Joomla 5.4.9

Проект Joomla! рад сообщить о выходе Joomla 6.1.4 и Joomla 5.4.9. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

JoomShift - компонент переноса контента между Joomla сайтами.

‍ JoomShift - компонент переноса контента между Joomla сайтами.

JoomShift - компонент переноса контента между Joomla сайтами.Он позволяет экспортировать модули, меню, материалы, категории, пользовательские поля и пользователей в виде переносимых JSON/ZIP-файлов, а затем импортировать их в любую другую установку Joomla.

Возможности компонента:- Модули — полная настройка, назначение пунктов меню, позиционирование и содержимое SP Page Builder.
-Меню — иерархия родительских/дочерних элементов, типы элементов, ссылки, уровни доступа и параметры. Отсутствующие типы меню создаются автоматически, а элементы, указывающие на неустановленные компоненты, пропускаются с предупреждением.
-Статьи и категории — контент, метаданные, изображения и иерархия категорий.
-Пользовательские поля — группы полей, определения, ограничения по категориям и значения (включая поля с несколькими значениями) — экспортируются и автоматически создаются заново на целевом сайте.
-Пользователи — данные профиля, назначения групп и хэши паролей, чтобы учетные записи работали сразу после импорта.
-Кросс-версииJoomla - компонент адаптируется к различиям в схеме базы данных между версиями Joomla.
-Создан для крупных сайтов — постраничные списки (20/50/100/250строк) и автоматический пакетный экспорт для сайтов с более чем 500 элементами, поэтому он продолжает работать на обычном хостинге.
-Опция перезаписи — обновляет совпадающие элементы при повторном импорте вместо создания дубликатов.
-Drag-n-drop импорт с подробным отчетом о том, что было импортировано, обновлено или пропущено, и почему.

На момент написания заметки для скачивания необходима регистрация/логин на сайте разработчика.

-Joomla Extensions Directory-Страница расширения#joomla#расширения

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Кроме этого, в состав пакета установки входит плагин, который позволяет выводить атрибуты товара в список всех товаров, менять эти атрибуты и добавлять товар в корзину из списка товаров. Если атрибутов много, то их можно выводить в всплывающем (модальном окне).

В модуле предусмотрено 2 макета дизайна для Bootstrap и UIkit и максимальная кастомизация для переопределения макетов в шаблон.Демо расширенияСтраница расширения

Видео в Telegram

0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 1816 Просмотров
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Хостер жалуется на мои запросы, грозит блокировками.
Цитировать
Необходимо либо добавить необходимые индексы для использования в этом запросе, либо исключить необходимость перебора 15846 строк при его выполнении.

Мой зарос такой
Код
SELECT * FROM `jos_virtuemart_product_custom_plg_param_ref` as r LEFT JOIN `jos_virtuemart_product_custom_plg_param_values` as v ON v.id = r.val WHERE r.virtuemart_product_id = 4983 AND r.virtuemart_custom_id = 22
Отображение строк 0 - 0 (1 всего, Запрос занял 0.0029 сек.)
Вроде быстро, на что он жалуется?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Как оптимизировать запрос?
« Ответ #1 : 10.07.2017, 21:06:17 »
В чем смысл использовать LEFT JOIN в вашем запросе?
А так, хостер прав на счет индексирования: быстро-небыстро, а ресурс на перебор 15846 строк нужен.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Re: Как оптимизировать запрос?
« Ответ #2 : 10.07.2017, 23:15:12 »
В чем смысл использовать LEFT JOIN в вашем запросе?

Получаю значение одного столбца из второй таблицы
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как оптимизировать запрос?
« Ответ #3 : 11.07.2017, 03:30:40 »
Индексы расставьте - будет все летать. А вообще в плане оптимизации надо делать акцент на серверный кэш MySQL - замечательная штука, позволяющая жонглировать глыбами данных без особого напряга.
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Re: Как оптимизировать запрос?
« Ответ #4 : 11.07.2017, 10:01:11 »
Индексы расставьте - будет все летать.
что надо сделать: запрос изменить или в таблице что то?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как оптимизировать запрос?
« Ответ #5 : 11.07.2017, 10:30:36 »
что надо сделать: запрос изменить или в таблице что то?
Для начала неплохо бы теорию без данных изучить. Смотрите поля, по которым идёт сравнение. Если поля являются primary key, то они уже проиндексированы, если нет, то индексы нужно расставить вручную. Не ручаюсь за достоверность, но чаще всего поля id являются PK, не знаю как у вас. В одной таблице id для join может быть pk, в другой таблице нет. Думаю, что r.val точно не pk и не имеет индексов. Посмотрите какие индексы есть вообще.

Код
SELECT DISTINCT
    TABLE_NAME,
    INDEX_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'имя базы';
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Re: Как оптимизировать запрос?
« Ответ #6 : 11.07.2017, 11:13:14 »
Посмотрите какие индексы есть вообще.

у обоих таблиц индексы id
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как оптимизировать запрос?
« Ответ #7 : 11.07.2017, 11:15:01 »
Какой ID, там их куча:

Цитировать
id
virtuemart_product_id
virtuemart_custom_id
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Re: Как оптимизировать запрос?
« Ответ #8 : 11.07.2017, 11:17:52 »
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как оптимизировать запрос?
« Ответ #9 : 11.07.2017, 11:20:06 »
Ну вот, соответственно надо расставить индексы на поля, где их нет. Все поля, которые участвуют в склейке таблиц или фильтрации должны быть проиндексированы во всех таблицах.
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Re: Как оптимизировать запрос?
« Ответ #10 : 11.07.2017, 11:27:04 »
Расставил. Переиндексация со временем пройдет?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как оптимизировать запрос?
« Ответ #11 : 11.07.2017, 11:29:24 »
Расставил. Переиндексация со временем пройдет?

При каждом обновлении будет происходить переиндексация -- это главный её недостаток, т.к. на переиндексацию тоже нужны ресурсы, и если база часто обновляется, то она будет тормозить. Хотя 99 процентов схемат работает на выдачу и лишь изредка на обновление. Всё зависит от ситуации :)
*

stydent

  • Захожу иногда
  • 150
  • 1 / 0
  • vlad-link.ru
Re: Как оптимизировать запрос?
« Ответ #12 : 11.07.2017, 11:31:06 »
А кто то можно посмотреть сколько ресурсов тратиться?
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как оптимизировать запрос?
« Ответ #13 : 11.07.2017, 11:40:49 »
А кто то можно посмотреть сколько ресурсов тратиться?

Только если логи запросов изучить за последний месяц, например. Посмотреть статистику по расходованию ресурсов, сравнить временные метки. Профилирование -- это очень широкое понятие, тут единого рецепта нет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться