halfhope Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Всем привет. Тормозит страница заказов, а именно фильтрация. За фильтрацию отвечает функция GgetOrders($data = array()) модели sale/order. public function getOrders($data = array()) { $sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o"; if (isset($data['filter_order_status_id']) && !is_null($data['filter_order_status_id'])) { $sql .= " WHERE o.order_status_id = '" . (int)$data['filter_order_status_id'] . "'"; } else { $sql .= " WHERE o.order_status_id > '0'"; } if (!empty($data['filter_order_id'])) { $sql .= " AND o.order_id = '" . (int)$data['filter_order_id'] . "'"; } if (!empty($data['filter_customer'])) { $sql .= " AND CONCAT(o.firstname, ' ', o.lastname) LIKE '%" . $this->db->escape($data['filter_customer']) . "%'"; } if (!empty($data['filter_date_added'])) { $sql .= " AND DATE(o.date_added) = DATE('" . $this->db->escape($data['filter_date_added']) . "')"; } if (!empty($data['filter_date_modified'])) { $sql .= " AND DATE(o.date_modified) = DATE('" . $this->db->escape($data['filter_date_modified']) . "')"; } if (!empty($data['filter_total'])) { $sql .= " AND o.total = '" . (float)$data['filter_total'] . "'"; } $sort_data = array( 'o.order_id', 'customer', 'status', 'o.date_added', 'o.date_modified', 'o.total' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { $sql .= " ORDER BY " . $data['sort']; } else { $sql .= " ORDER BY o.order_id"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC"; } else { $sql .= " ASC"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; } $query = $this->db->query($sql); return $query->rows; } Прошу помощи у тех, кто уже встречался с таким, кто ее оптимизировал. Есть второй выход - удалить часть заказов, но это исключено. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 не сталкивался, но если покажите expalin запроса, постараюсь помочь Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 какие вижу варианты пока не получил explain 1. проверить скорость если убрать подзапрос (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS status 2. проверить есть ли ключи на полях из where, из sort order. выборка из одной таблицы не должна тормозить Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост LIKE '%" . $this->db->escape($data['filter_customer']) . "%'" При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут а как же FULLTEXT индекс ? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) если дело в подзапросе, то проблема легко решается его заменой на JOIN. без expalin'а мы можем только гадать ) Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 не сталкивался, но если покажите expalin запроса, постараюсь помочь Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 какие вижу варианты пока не получил explain 1. проверить скорость если убрать подзапрос (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS status 2. проверить есть ли ключи на полях из where, из sort order. выборка из одной таблицы не должна тормозить Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост LIKE '%" . $this->db->escape($data['filter_customer']) . "%'" При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут а как же FULLTEXT индекс ? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) если дело в подзапросе, то проблема легко решается его заменой на JOIN. без expalin'а мы можем только гадать ) Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 какие вижу варианты пока не получил explain 1. проверить скорость если убрать подзапрос (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS status 2. проверить есть ли ключи на полях из where, из sort order. выборка из одной таблицы не должна тормозить Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост LIKE '%" . $this->db->escape($data['filter_customer']) . "%'" При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут а как же FULLTEXT индекс ? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) если дело в подзапросе, то проблема легко решается его заменой на JOIN. без expalin'а мы можем только гадать ) Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост LIKE '%" . $this->db->escape($data['filter_customer']) . "%'" При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут а как же FULLTEXT индекс ? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) если дело в подзапросе, то проблема легко решается его заменой на JOIN. без expalin'а мы можем только гадать ) Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут а как же FULLTEXT индекс ? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) если дело в подзапросе, то проблема легко решается его заменой на JOIN. без expalin'а мы можем только гадать ) Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Ответ прост При % в "начале" LIKE - идет перебор всей базы Это очень тормозной запрос и ни какие индексы не помогут а как же FULLTEXT индекс ? Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) если дело в подзапросе, то проблема легко решается его заменой на JOIN. без expalin'а мы можем только гадать ) Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Да там подзапрос при большой выборке еще может добавить "30`000" запросов к базе :) если дело в подзапросе, то проблема легко решается его заменой на JOIN. без expalin'а мы можем только гадать ) Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а как же FULLTEXT индекс ? Для %...% до 3.14 он Только для LIKE ...% Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 я имел ввиду замена like на MATCH (col1,col2,...) AGAINST (expr [search_modifier]) А, ну да, если все менять так и подзапрос на JOIN и на MATCH поменять LIKE % Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
halfhope Опубліковано: 16 вересня 2015 Автор Share Опубліковано: 16 вересня 2015 (змінено) Сам запрос SELECT o.order_id, CONCAT( o.lastname, ' ', o.firstname ) AS customer, o.order_status_id, o.webme_sent_review_reminder, (SELECT os.name FROM order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `order` o WHERE o.order_status_id = '24' ORDER BY o.order_id DESC LIMIT 0,50 Выполняется за 1.4 секунды с включенным профайлером, что вполне приемлемо. Вот что выдал профайлер: Total time 13.7506 seconds | Total queries:563 Проблема была в vqmod/ocmod модулях для показа реферала (soforp_order_referer) и цвета заказа, они добавляют подзапросы: SELECT referrer FROM `order_referrer` WHERE order_id = '29622' and cookie_name='last_referrer' и SELECT color FROM order_status_color WHERE order_status_id = '24' Каждый из этих запросов выполняется в среднем за 0.15 сек. Авторам данных дополнений уже отписался. Кстати, отключили soforp_order_referer и заработало шустрей (1.5 сек). Решение Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer order_referrer_id int(11) AI order_id int(11) NULL cookie_name varchar(100) NULL cookie_val int(11) NULL referrer text NULL Добавил индексы в поля по которым идет выборка: ALTER TABLE `order_referrer` ADD INDEX `order_id` (`order_id`); ALTER TABLE `order_referrer` ADD INDEX `cookie_name` (`cookie_name`); С отключенным профайлером загрузка страницы встала на место и теперь занимает всего ~0.6 секунд. Всем спасибо за потраченное время. Спасибо, кстати, не знал про замену LIKE. Змінено 16 вересня 2015 користувачем halfhope Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Total queries:563 ОГО! :? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 знал про замену LIKE. Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Тоже аккуратно у MATCH свои подводные камни есть Так что панацеи нет для "поиска" по тексту полноценного Один вариант лучше на одних задачах, другой на других Универсального решения - НЕТ :( всё верно. MATCH (col1,col2,...) AGAINST (expr [search_modifier]) это не замена LIKE, это функция, которая, возможно, при каких-то условиях будет работать быстрее чем LIKE Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Проблема решилась без отключения модуля soforp_order_referer, путем добавления индексов в таблицу order_referrer пробуйте заменить подзапросы на LEFT JOIN, возможно еще скорости добавится Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Новая версия сейчас будет опубликована, а владельцам старой придется выполнить запрос ручками. а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 а разве нельзя сделать проверку на наличие индекса и если нет, добавлять автоматом? PS: сам еще не сталкивался с проверкой по наличию индексов - если что не так, сапогами прошу не кидать :ugeek: Alex там не только проверка на индексы- там проблема в запросе - очень большая выборка получается - более 500 подзапросов :( Там сам запрос надо менять перехватив модель и обработать через __call Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 Там сам запрос надо менять перехватив модель и обработать через __call - дяденька.. я не настоящий сварщик! (с) :-D сорри за офтоп просто стало интересно - зачем выносить мозг пользователям ручным выполнением запроса в БД, если можно добавить автоматом? или нельзя? ну-ка пойду тестить! :ugeek: Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 AlexDW private $fields = array( 'product_attribute' => array('product_id'), 'product_option_value' => array('option_value_id', 'product_id'), 'product_to_category' => array('category_id')); ... public function check_indexes() { foreach($this->fields as $table => $indexes) { $query = $this->db->query("SHOW INDEX FROM `" . DB_PREFIX . $table . "`"); $keys = array(); foreach($query->rows as $row) { $keys[] = $row['Column_name']; } $keys = array_diff($indexes, $keys); foreach($keys as $key) { $this->db->query("ALTER TABLE `" . DB_PREFIX . $table . "` ADD INDEX ( `" . $key . "` )"); } } } 1 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
AlexDW Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 16 вересня 2015 Share Опубліковано: 16 вересня 2015 работает, тестил так: $sql = "SHOW INDEX FROM " . DB_PREFIX ."product WHERE KEY_NAME = 'productz'"; $query = $this->db->query($sql); if ($query->num_rows == 0) { $this->db->query("ALTER TABLE " . DB_PREFIX ."product ADD INDEX `productz` (`product_id`,`cost`)"); } freelancer - спасибо за решение! Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } Надіслати Поділитися на інших сайтах More sharing options... 7 months later... kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов. Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
kolomenec Опубліковано: 20 квітня 2016 Share Опубліковано: 20 квітня 2016 Можно так еще $r = $this->db->query("SHOW KEYS FROM `" . DB_PREFIX . "review_fields` WHERE Key_name ='review_id'"); if ($r->num_rows == 0) { $msql = "ALTER TABLE `" . DB_PREFIX . "review_fields` ADD INDEX (`review_id`)"; $query = $this->db->query($msql); } А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Тормоза в админке на странице заказов. Около 30 000 заказов.
AlexDW Опубліковано: 21 квітня 2016 Share Опубліковано: 21 квітня 2016 kolomenec, это не код магической кнопки "сделать все зашибись" почитайте тему с самого начала, возможно поймете что обсуждалось в вашем случае - ищите по форуму по темам ускорение opencart Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль Viber уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 30 серпня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте viber вайбер потерянный заказ 62 відповіді 17 950 переглядів Bn174uk 3 грудня 2022 заказы Модуль OrderField - дополнительные поля товара в заказе и письме [Поддержка] 1 2 3 4 9 Автор: AlexDW, 8 грудня 2014 поля в заказе добавить поле в заказ (і ще %d) Теги: поля в заказе добавить поле в заказ sku в заказ upc в заказе добавление полей в заказе показать поля в заказе поля товара в письме поля в корзине фото товара в счете картинки товара в письме вес заказа вес товаров 224 відповіді 27 167 переглядів AlexDW 2 жовтня 2020 Модуль Vk уведомления [Поддержка] 1 2 3 Автор: Bn174uk, 14 червня 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы статус заказа новый пользователь вконтакте vk.com потерянный заказ 62 відповіді 9 193 перегляди Bn174uk 22 вересня 2021 Модуль Telegram уведомления [Поддержка] 1 2 3 4 10 Автор: Bn174uk, 24 лютого 2018 уведомление telegram (і ще %d) Теги: уведомление telegram заказы отзывы новый пользователь статус заказа viber вайбер возврат товара потерянный заказ телеграм смс discord sms уведомление смс уведомление телеграм уведомление о заказах 247 відповідей 38 253 перегляди Bn174uk 22 квітня 2023 Модуль ICQ New уведомления [Поддержка] Автор: Bn174uk, 29 червня 2020 уведомление telegram (і ще %d) Теги: уведомление telegram телеграм заказы отзывы статус заказа новый пользователь vk.com вконтакте viber вайбер возврат товара sms смс потерянный заказ discord icq icq new аська 5 відповідей 1 805 переглядів whiteblue 12 січня 2021 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
halfhope Опубліковано: 21 квітня 2016 Автор Share Опубліковано: 21 квітня 2016 А где надо делать это? Тоже самое у меня, проблема .... много товара ()15-20к) и групп под 150-200 ... И как быть? что бы шустрее работало? Для начала попробуйте добавить индексы в БД, проверить будет ли так же тормозить. Если да, то обратитесь к пользователю @snastik, у него backend оптимизация хорошо получается и куча модулей для этого есть. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts