chukcha Опубліковано: 4 березня 2017 Share Опубліковано: 4 березня 2017 39 минут назад, chukcha сказал: А что делать, если авторы игнорят. Смысл? Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 4 березня 2017 Share Опубліковано: 4 березня 2017 7 часов назад, Dimdimych сказал: Вот-только не понятно, почему не все, а только некоторые товары имели такое огромное кол-во запросов? У других товаров количество запросов значительно не поменялось и находится в пределах 300. Вероятно, дело в категории: если в категории текущего товара мало товаров - запросов меньше и наоборот. А запросов там столько, сколько товаров в категории текущего. Это один из ярких примеров, когда автор модуля/шаблона не подозревает, что бывают магазины, где больше пары сотен товаров! И таких полно. 2 Надіслати Поділитися на інших сайтах More sharing options... florapraktik Опубліковано: 5 березня 2017 Share Опубліковано: 5 березня 2017 В 04.03.2017 в 14:04, vasilev86 сказал: Если хотите действительно помочь, вы обсуждайте это с разработчиком того или иного дополнения в котором ошибки. Осмелюсь предположить, что ни лично Вам, ни лично мне никто помочь не хочет, поэтому с такими претензиями - мимо. Однако, люди заботятся об общей экологии всего проекта. И это, безусловно, очень полезно. В том числе и для нас с вами. Как-то так. 1 Надіслати Поділитися на інших сайтах More sharing options... vasilev86 Опубліковано: 5 березня 2017 Share Опубліковано: 5 березня 2017 7 минут назад, florapraktik сказал: Осмелюсь предположить, что ни лично Вам, ни лично мне никто помочь не хочет, поэтому с такими претензиями - мимо. Однако, люди заботятся об общей экологии всего проекта. И это, безусловно, очень полезно. В том числе и для нас с вами. Как-то так. надеюсь, тфю тфю чтоб не сглазить. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Добрый день Скажите по времени это долгие запросы ? надо искать причину или время в пределах нормы ? товаров примерно 25000 1. catalog/model/catalog/product.php а) Скрытый текст SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '2058') AND p.product_id != '2058' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 б) Скрытый текст SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '1265') AND p.product_id != '1265' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 время от 1000 до 1600 мс 2. catalog/model/catalog/search_mr.php а) Скрытый текст SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%makita bo3710 140441-9 подошва в сборе%', 60, 0) + IF (LCASE(pd.name) LIKE 'makita%', 80, 0) + IF (LCASE(pd.name) LIKE '%makita%', 8, 0) + IF (LCASE(pd.name) LIKE 'bo3710%', 80, 0) + IF (LCASE(pd.name) LIKE '%bo3710%', 8, 0) + IF (LCASE(pd.name) LIKE '140441-9%', 80, 0) + IF (LCASE(pd.name) LIKE '%140441-9%', 8, 0) + IF (LCASE(pd.name) LIKE 'подошв%', 80, 0) + IF (LCASE(pd.name) LIKE '%подошв%', 8, 0) + IF (LCASE(pd.name) LIKE 'сбор%', 80, 0) + IF (LCASE(pd.name) LIKE '%сбор%', 8, 0) + IF (LCASE(pd.description) LIKE '%makita bo3710 140441-9 подошва в сборе%', 20, 0) + IF (LCASE(pd.description) LIKE '%makita%', 2, 0) + IF (LCASE(pd.description) LIKE '%bo3710%', 2, 0) + IF (LCASE(pd.description) LIKE '%140441-9%', 2, 0) + IF (LCASE(pd.description) LIKE '%подошв%', 2, 0) + IF (LCASE(pd.description) LIKE '%сбор%', 2, 0) + IF (LCASE(pd.tag) LIKE '%makita%', 9, 0) + IF (LCASE(pd.tag) LIKE '%bo3710%', 9, 0) + IF (LCASE(pd.tag) LIKE '%140441-9%', 9, 0) + IF (LCASE(pd.tag) LIKE '%подошв%', 9, 0) + IF (LCASE(pd.tag) LIKE '%сбор%', 9, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%makita%') OR (LCASE(pd.name) LIKE '%bo3710%') OR (LCASE(pd.name) LIKE '%140441-9%') OR (LCASE(pd.name) LIKE '%подошв%') OR (LCASE(pd.name) LIKE '%сбор%') ) OR ( (LCASE(pd.description) LIKE '%makita%') OR (LCASE(pd.description) LIKE '%bo3710%') OR (LCASE(pd.description) LIKE '%140441-9%') OR (LCASE(pd.description) LIKE '%подошв%') OR (LCASE(pd.description) LIKE '%сбор%') ) OR ( (LCASE(pd.tag) LIKE '%makita%') OR (LCASE(pd.tag) LIKE '%bo3710%') OR (LCASE(pd.tag) LIKE '%140441-9%') OR (LCASE(pd.tag) LIKE '%подошв%') OR (LCASE(pd.tag) LIKE '%сбор%') ) OR ( (LCASE(pa.text) LIKE 'makita%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'bo3710%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE '140441-9%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'подошв%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'сбор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%makita%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%bo3710%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%1404419%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%подошв%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%сбор%') ) OR ( (LCASE(p.sku) = 'makita') OR (LCASE(p.sku) = 'bo3710') OR (LCASE(p.sku) = '140441-9') OR (LCASE(p.sku) = 'подошв') OR (LCASE(p.sku) = 'сбор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 б) Скрытый текст SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%крепление для забора%', 60, 0) + IF (LCASE(pd.name) LIKE 'креплен%', 80, 0) + IF (LCASE(pd.name) LIKE '%креплен%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'дл%', 80, 0) + IF (LCASE(pd.name) LIKE '%дл%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'забор%', 80, 0) + IF (LCASE(pd.name) LIKE '%забор%', 13.33, 0) + IF (LCASE(pd.description) LIKE '%крепление для забора%', 20, 0) + IF (LCASE(pd.description) LIKE '%креплен%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%дл%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%забор%', 3.33, 0) + IF (LCASE(pd.tag) LIKE '%креплен%', 15, 0) + IF (LCASE(pd.tag) LIKE '%дл%', 15, 0) + IF (LCASE(pd.tag) LIKE '%забор%', 15, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%креплен%') OR (LCASE(pd.name) LIKE '%дл%') OR (LCASE(pd.name) LIKE '%забор%') ) OR ( (LCASE(pd.description) LIKE '%креплен%') OR (LCASE(pd.description) LIKE '%дл%') OR (LCASE(pd.description) LIKE '%забор%') ) OR ( (LCASE(pd.tag) LIKE '%креплен%') OR (LCASE(pd.tag) LIKE '%дл%') OR (LCASE(pd.tag) LIKE '%забор%') ) OR ( (LCASE(pa.text) LIKE 'креплен%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'дл%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'забор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%креплен%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%дл%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%забор%') ) OR ( (LCASE(p.sku) = 'креплен') OR (LCASE(p.sku) = 'дл') OR (LCASE(p.sku) = 'забор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 время выполнения от 2500 до 3500 мс Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 6 часов назад, Blade сказал: время от 1000 до 1600 мс Такое время не может быть в пределах нормы, в принципе, а тем более, на таких запросах! В этих запросах проблема, скорее всего, в ORDER BY RAND() Очередной пример, когда автор модуля не подозревает, что в магазинах бывает товаров больше, чем в демо. Ну, а в следующих двух запросах должен помочь полнотекстовый индекс на текстовых полях участвующих в запросе. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 6 часов назад, Blade сказал: ORDER BY relevance К автору модуля поиска (Там даже релевантность "считается" криво ORDER BY RAND() - Сколько товаров? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 6 часов назад, Blade сказал: Добрый день Скажите по времени это долгие запросы ? надо искать причину или время в пределах нормы ? товаров примерно 25000 1. catalog/model/catalog/product.php а) Скрыть контент SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '2058') AND p.product_id != '2058' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 б) Скрыть контент SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '1265') AND p.product_id != '1265' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 время от 1000 до 1600 мс 2. catalog/model/catalog/search_mr.php а) Скрыть контент SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%makita bo3710 140441-9 подошва в сборе%', 60, 0) + IF (LCASE(pd.name) LIKE 'makita%', 80, 0) + IF (LCASE(pd.name) LIKE '%makita%', 8, 0) + IF (LCASE(pd.name) LIKE 'bo3710%', 80, 0) + IF (LCASE(pd.name) LIKE '%bo3710%', 8, 0) + IF (LCASE(pd.name) LIKE '140441-9%', 80, 0) + IF (LCASE(pd.name) LIKE '%140441-9%', 8, 0) + IF (LCASE(pd.name) LIKE 'подошв%', 80, 0) + IF (LCASE(pd.name) LIKE '%подошв%', 8, 0) + IF (LCASE(pd.name) LIKE 'сбор%', 80, 0) + IF (LCASE(pd.name) LIKE '%сбор%', 8, 0) + IF (LCASE(pd.description) LIKE '%makita bo3710 140441-9 подошва в сборе%', 20, 0) + IF (LCASE(pd.description) LIKE '%makita%', 2, 0) + IF (LCASE(pd.description) LIKE '%bo3710%', 2, 0) + IF (LCASE(pd.description) LIKE '%140441-9%', 2, 0) + IF (LCASE(pd.description) LIKE '%подошв%', 2, 0) + IF (LCASE(pd.description) LIKE '%сбор%', 2, 0) + IF (LCASE(pd.tag) LIKE '%makita%', 9, 0) + IF (LCASE(pd.tag) LIKE '%bo3710%', 9, 0) + IF (LCASE(pd.tag) LIKE '%140441-9%', 9, 0) + IF (LCASE(pd.tag) LIKE '%подошв%', 9, 0) + IF (LCASE(pd.tag) LIKE '%сбор%', 9, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%makita%') OR (LCASE(pd.name) LIKE '%bo3710%') OR (LCASE(pd.name) LIKE '%140441-9%') OR (LCASE(pd.name) LIKE '%подошв%') OR (LCASE(pd.name) LIKE '%сбор%') ) OR ( (LCASE(pd.description) LIKE '%makita%') OR (LCASE(pd.description) LIKE '%bo3710%') OR (LCASE(pd.description) LIKE '%140441-9%') OR (LCASE(pd.description) LIKE '%подошв%') OR (LCASE(pd.description) LIKE '%сбор%') ) OR ( (LCASE(pd.tag) LIKE '%makita%') OR (LCASE(pd.tag) LIKE '%bo3710%') OR (LCASE(pd.tag) LIKE '%140441-9%') OR (LCASE(pd.tag) LIKE '%подошв%') OR (LCASE(pd.tag) LIKE '%сбор%') ) OR ( (LCASE(pa.text) LIKE 'makita%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'bo3710%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE '140441-9%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'подошв%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'сбор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%makita%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%bo3710%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%1404419%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%подошв%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%сбор%') ) OR ( (LCASE(p.sku) = 'makita') OR (LCASE(p.sku) = 'bo3710') OR (LCASE(p.sku) = '140441-9') OR (LCASE(p.sku) = 'подошв') OR (LCASE(p.sku) = 'сбор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 б) Скрыть контент SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%крепление для забора%', 60, 0) + IF (LCASE(pd.name) LIKE 'креплен%', 80, 0) + IF (LCASE(pd.name) LIKE '%креплен%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'дл%', 80, 0) + IF (LCASE(pd.name) LIKE '%дл%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'забор%', 80, 0) + IF (LCASE(pd.name) LIKE '%забор%', 13.33, 0) + IF (LCASE(pd.description) LIKE '%крепление для забора%', 20, 0) + IF (LCASE(pd.description) LIKE '%креплен%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%дл%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%забор%', 3.33, 0) + IF (LCASE(pd.tag) LIKE '%креплен%', 15, 0) + IF (LCASE(pd.tag) LIKE '%дл%', 15, 0) + IF (LCASE(pd.tag) LIKE '%забор%', 15, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%креплен%') OR (LCASE(pd.name) LIKE '%дл%') OR (LCASE(pd.name) LIKE '%забор%') ) OR ( (LCASE(pd.description) LIKE '%креплен%') OR (LCASE(pd.description) LIKE '%дл%') OR (LCASE(pd.description) LIKE '%забор%') ) OR ( (LCASE(pd.tag) LIKE '%креплен%') OR (LCASE(pd.tag) LIKE '%дл%') OR (LCASE(pd.tag) LIKE '%забор%') ) OR ( (LCASE(pa.text) LIKE 'креплен%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'дл%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'забор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%креплен%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%дл%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%забор%') ) OR ( (LCASE(p.sku) = 'креплен') OR (LCASE(p.sku) = 'дл') OR (LCASE(p.sku) = 'забор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 время выполнения от 2500 до 3500 мс Да что ж ты не угомонный такой? Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id Вторая проблема - известный специалист SV2109, который верит в то что такой поиск может работать. А он не может - меняется это дело на сфинкс и живет. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 LIKE '%makita%' Это 3.14 Автор не знает азов MySQL Когда при LIKE перед и после поисковой фразы стоит % - идет перебор ВСЕХ значений таблицы и индексы НЕ ИСПОЛЬЗУЮТСЯ LIKE '%makita%' Соответственно такие запросы будут оооооооооооооооооочень тормозными А там еще и куча OR с LIKE '%tyry_pyry%' Короче занавес Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 1 час назад, markimax сказал: Автор не знает азов MySQL хм.. А причем здесь азы? wildcards % и _ это и есть азы Ну, а то что не доработан механизм поиска .. минус автора Зачем искать слово "дл" такие слова должны попадать в исключения Релевантность считается только по паданию в описание, а не попаданию в атрибуты. По большому счету система поиска в ОС очень проста, и не совсем подходит для большого количества товаров. Но, даже на OC можно извратиться построить индекс .. и ускорить процесс. Но как сказано - а не посмотреть ли в сторону сфинкса? Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 4 квітня 2017 Share Опубліковано: 4 квітня 2017 4 часа назад, Blade сказал: Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю не актуально во первых нашел человека кто поможет во вторых снес нафиг этот чудо модуль Надіслати Поділитися на інших сайтах More sharing options... 2 months later... vcat Опубліковано: 28 червня 2017 Share Опубліковано: 28 червня 2017 В 04.03.2017 в 11:43, Dimdimych сказал: В менеджере дополнений найти ocmod Magazin и закомментировать (или удалить) эти строки: <operation> <search> <![CDATA[$this->load->model('catalog/product');]]> </search> <add position="after"> <![CDATA[if (!empty($category_id)) { $filter_data = array( 'filter_category_id' => $category_id ); } else { $filter_data = array( 'filter_category_id' => '' ); } $category_products = $this->model_catalog_product->getProducts($filter_data); $prevFixProduct = array(); $prevProduct = array(); $nextProduct = array(); foreach ($category_products as $product) { if ($product['product_id'] == $product_id) { $prevProduct = $prevFixProduct; } else { if (!empty($prevFixProduct) && $prevFixProduct['product_id'] == $product_id) { $nextProduct = $product; break; } } $prevFixProduct = $product; } $this->load->model('tool/image'); if (!empty($prevProduct)&&!empty($category_id)) { $data['prevProduct'] = array( 'name' => $prevProduct['name'], 'image' => $this->model_tool_image->resize($prevProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $prevProduct['product_id'] . '&path=' . $category_id) ); } if (!empty($nextProduct)&&!empty($category_id)) { $data['nextProduct'] = array( 'name' => $nextProduct['name'], 'image' => $this->model_tool_image->resize($nextProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $nextProduct['product_id'] . '&path=' . $category_id) ); }]]> </add> </operation> У меня та же беда - шаблон Magazin 9.4 (соответственно нет возможности отключения модуля предыдущий/следующий) из админки. Пробовал воспользоваться Вашей рекомендацией - к сожалению, не нашел модификатора шаблона (чайник я), удалил указанный Вами код из: /system/storage/modification/catalog/controller/product/product.php Увы, после этого страницы товара совсем не открываются, вернул все назад (( Надіслати Поділитися на інших сайтах More sharing options... 2 years later... stanr Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 В 25.02.2017 в 16:51, Dimdimych сказал: Анализ запросов к базе данных дал такие результаты (при чистом кєше): Queries: 918, Total time: 734.030 ms Сорри если не в тему, но как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 (змінено) 8 hours ago, stanr said: как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. как например Змінено 26 січня 2020 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... 2 years later... lenovocomkz Опубліковано: 30 червня 2022 Share Опубліковано: 30 червня 2022 25.02.2017 в 19:55, nikifalex сказал: какой именно кэш чистый? 25.02.2017 в 23:00, Dimdimych сказал: Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера 25.02.2017 в 22:59, Dimdimych сказал: Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе. Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Ускорение обработки запросов mysql Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 4 березня 2017 Share Опубліковано: 4 березня 2017 7 часов назад, Dimdimych сказал: Вот-только не понятно, почему не все, а только некоторые товары имели такое огромное кол-во запросов? У других товаров количество запросов значительно не поменялось и находится в пределах 300. Вероятно, дело в категории: если в категории текущего товара мало товаров - запросов меньше и наоборот. А запросов там столько, сколько товаров в категории текущего. Это один из ярких примеров, когда автор модуля/шаблона не подозревает, что бывают магазины, где больше пары сотен товаров! И таких полно. 2 Надіслати Поділитися на інших сайтах More sharing options...
florapraktik Опубліковано: 5 березня 2017 Share Опубліковано: 5 березня 2017 В 04.03.2017 в 14:04, vasilev86 сказал: Если хотите действительно помочь, вы обсуждайте это с разработчиком того или иного дополнения в котором ошибки. Осмелюсь предположить, что ни лично Вам, ни лично мне никто помочь не хочет, поэтому с такими претензиями - мимо. Однако, люди заботятся об общей экологии всего проекта. И это, безусловно, очень полезно. В том числе и для нас с вами. Как-то так. 1 Надіслати Поділитися на інших сайтах More sharing options...
vasilev86 Опубліковано: 5 березня 2017 Share Опубліковано: 5 березня 2017 7 минут назад, florapraktik сказал: Осмелюсь предположить, что ни лично Вам, ни лично мне никто помочь не хочет, поэтому с такими претензиями - мимо. Однако, люди заботятся об общей экологии всего проекта. И это, безусловно, очень полезно. В том числе и для нас с вами. Как-то так. надеюсь, тфю тфю чтоб не сглазить. Надіслати Поділитися на інших сайтах More sharing options...
Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Добрый день Скажите по времени это долгие запросы ? надо искать причину или время в пределах нормы ? товаров примерно 25000 1. catalog/model/catalog/product.php а) Скрытый текст SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '2058') AND p.product_id != '2058' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 б) Скрытый текст SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '1265') AND p.product_id != '1265' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 время от 1000 до 1600 мс 2. catalog/model/catalog/search_mr.php а) Скрытый текст SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%makita bo3710 140441-9 подошва в сборе%', 60, 0) + IF (LCASE(pd.name) LIKE 'makita%', 80, 0) + IF (LCASE(pd.name) LIKE '%makita%', 8, 0) + IF (LCASE(pd.name) LIKE 'bo3710%', 80, 0) + IF (LCASE(pd.name) LIKE '%bo3710%', 8, 0) + IF (LCASE(pd.name) LIKE '140441-9%', 80, 0) + IF (LCASE(pd.name) LIKE '%140441-9%', 8, 0) + IF (LCASE(pd.name) LIKE 'подошв%', 80, 0) + IF (LCASE(pd.name) LIKE '%подошв%', 8, 0) + IF (LCASE(pd.name) LIKE 'сбор%', 80, 0) + IF (LCASE(pd.name) LIKE '%сбор%', 8, 0) + IF (LCASE(pd.description) LIKE '%makita bo3710 140441-9 подошва в сборе%', 20, 0) + IF (LCASE(pd.description) LIKE '%makita%', 2, 0) + IF (LCASE(pd.description) LIKE '%bo3710%', 2, 0) + IF (LCASE(pd.description) LIKE '%140441-9%', 2, 0) + IF (LCASE(pd.description) LIKE '%подошв%', 2, 0) + IF (LCASE(pd.description) LIKE '%сбор%', 2, 0) + IF (LCASE(pd.tag) LIKE '%makita%', 9, 0) + IF (LCASE(pd.tag) LIKE '%bo3710%', 9, 0) + IF (LCASE(pd.tag) LIKE '%140441-9%', 9, 0) + IF (LCASE(pd.tag) LIKE '%подошв%', 9, 0) + IF (LCASE(pd.tag) LIKE '%сбор%', 9, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%makita%') OR (LCASE(pd.name) LIKE '%bo3710%') OR (LCASE(pd.name) LIKE '%140441-9%') OR (LCASE(pd.name) LIKE '%подошв%') OR (LCASE(pd.name) LIKE '%сбор%') ) OR ( (LCASE(pd.description) LIKE '%makita%') OR (LCASE(pd.description) LIKE '%bo3710%') OR (LCASE(pd.description) LIKE '%140441-9%') OR (LCASE(pd.description) LIKE '%подошв%') OR (LCASE(pd.description) LIKE '%сбор%') ) OR ( (LCASE(pd.tag) LIKE '%makita%') OR (LCASE(pd.tag) LIKE '%bo3710%') OR (LCASE(pd.tag) LIKE '%140441-9%') OR (LCASE(pd.tag) LIKE '%подошв%') OR (LCASE(pd.tag) LIKE '%сбор%') ) OR ( (LCASE(pa.text) LIKE 'makita%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'bo3710%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE '140441-9%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'подошв%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'сбор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%makita%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%bo3710%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%1404419%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%подошв%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%сбор%') ) OR ( (LCASE(p.sku) = 'makita') OR (LCASE(p.sku) = 'bo3710') OR (LCASE(p.sku) = '140441-9') OR (LCASE(p.sku) = 'подошв') OR (LCASE(p.sku) = 'сбор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 б) Скрытый текст SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%крепление для забора%', 60, 0) + IF (LCASE(pd.name) LIKE 'креплен%', 80, 0) + IF (LCASE(pd.name) LIKE '%креплен%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'дл%', 80, 0) + IF (LCASE(pd.name) LIKE '%дл%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'забор%', 80, 0) + IF (LCASE(pd.name) LIKE '%забор%', 13.33, 0) + IF (LCASE(pd.description) LIKE '%крепление для забора%', 20, 0) + IF (LCASE(pd.description) LIKE '%креплен%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%дл%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%забор%', 3.33, 0) + IF (LCASE(pd.tag) LIKE '%креплен%', 15, 0) + IF (LCASE(pd.tag) LIKE '%дл%', 15, 0) + IF (LCASE(pd.tag) LIKE '%забор%', 15, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%креплен%') OR (LCASE(pd.name) LIKE '%дл%') OR (LCASE(pd.name) LIKE '%забор%') ) OR ( (LCASE(pd.description) LIKE '%креплен%') OR (LCASE(pd.description) LIKE '%дл%') OR (LCASE(pd.description) LIKE '%забор%') ) OR ( (LCASE(pd.tag) LIKE '%креплен%') OR (LCASE(pd.tag) LIKE '%дл%') OR (LCASE(pd.tag) LIKE '%забор%') ) OR ( (LCASE(pa.text) LIKE 'креплен%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'дл%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'забор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%креплен%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%дл%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%забор%') ) OR ( (LCASE(p.sku) = 'креплен') OR (LCASE(p.sku) = 'дл') OR (LCASE(p.sku) = 'забор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 время выполнения от 2500 до 3500 мс Надіслати Поділитися на інших сайтах More sharing options...
Dotrox Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 6 часов назад, Blade сказал: время от 1000 до 1600 мс Такое время не может быть в пределах нормы, в принципе, а тем более, на таких запросах! В этих запросах проблема, скорее всего, в ORDER BY RAND() Очередной пример, когда автор модуля не подозревает, что в магазинах бывает товаров больше, чем в демо. Ну, а в следующих двух запросах должен помочь полнотекстовый индекс на текстовых полях участвующих в запросе. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 6 часов назад, Blade сказал: ORDER BY relevance К автору модуля поиска (Там даже релевантность "считается" криво ORDER BY RAND() - Сколько товаров? Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 6 часов назад, Blade сказал: Добрый день Скажите по времени это долгие запросы ? надо искать причину или время в пределах нормы ? товаров примерно 25000 1. catalog/model/catalog/product.php а) Скрыть контент SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '2058') AND p.product_id != '2058' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 б) Скрыть контент SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '1265') AND p.product_id != '1265' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 время от 1000 до 1600 мс 2. catalog/model/catalog/search_mr.php а) Скрыть контент SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%makita bo3710 140441-9 подошва в сборе%', 60, 0) + IF (LCASE(pd.name) LIKE 'makita%', 80, 0) + IF (LCASE(pd.name) LIKE '%makita%', 8, 0) + IF (LCASE(pd.name) LIKE 'bo3710%', 80, 0) + IF (LCASE(pd.name) LIKE '%bo3710%', 8, 0) + IF (LCASE(pd.name) LIKE '140441-9%', 80, 0) + IF (LCASE(pd.name) LIKE '%140441-9%', 8, 0) + IF (LCASE(pd.name) LIKE 'подошв%', 80, 0) + IF (LCASE(pd.name) LIKE '%подошв%', 8, 0) + IF (LCASE(pd.name) LIKE 'сбор%', 80, 0) + IF (LCASE(pd.name) LIKE '%сбор%', 8, 0) + IF (LCASE(pd.description) LIKE '%makita bo3710 140441-9 подошва в сборе%', 20, 0) + IF (LCASE(pd.description) LIKE '%makita%', 2, 0) + IF (LCASE(pd.description) LIKE '%bo3710%', 2, 0) + IF (LCASE(pd.description) LIKE '%140441-9%', 2, 0) + IF (LCASE(pd.description) LIKE '%подошв%', 2, 0) + IF (LCASE(pd.description) LIKE '%сбор%', 2, 0) + IF (LCASE(pd.tag) LIKE '%makita%', 9, 0) + IF (LCASE(pd.tag) LIKE '%bo3710%', 9, 0) + IF (LCASE(pd.tag) LIKE '%140441-9%', 9, 0) + IF (LCASE(pd.tag) LIKE '%подошв%', 9, 0) + IF (LCASE(pd.tag) LIKE '%сбор%', 9, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%makita%') OR (LCASE(pd.name) LIKE '%bo3710%') OR (LCASE(pd.name) LIKE '%140441-9%') OR (LCASE(pd.name) LIKE '%подошв%') OR (LCASE(pd.name) LIKE '%сбор%') ) OR ( (LCASE(pd.description) LIKE '%makita%') OR (LCASE(pd.description) LIKE '%bo3710%') OR (LCASE(pd.description) LIKE '%140441-9%') OR (LCASE(pd.description) LIKE '%подошв%') OR (LCASE(pd.description) LIKE '%сбор%') ) OR ( (LCASE(pd.tag) LIKE '%makita%') OR (LCASE(pd.tag) LIKE '%bo3710%') OR (LCASE(pd.tag) LIKE '%140441-9%') OR (LCASE(pd.tag) LIKE '%подошв%') OR (LCASE(pd.tag) LIKE '%сбор%') ) OR ( (LCASE(pa.text) LIKE 'makita%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'bo3710%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE '140441-9%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'подошв%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'сбор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%makita%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%bo3710%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%1404419%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%подошв%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%сбор%') ) OR ( (LCASE(p.sku) = 'makita') OR (LCASE(p.sku) = 'bo3710') OR (LCASE(p.sku) = '140441-9') OR (LCASE(p.sku) = 'подошв') OR (LCASE(p.sku) = 'сбор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 б) Скрыть контент SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%крепление для забора%', 60, 0) + IF (LCASE(pd.name) LIKE 'креплен%', 80, 0) + IF (LCASE(pd.name) LIKE '%креплен%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'дл%', 80, 0) + IF (LCASE(pd.name) LIKE '%дл%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'забор%', 80, 0) + IF (LCASE(pd.name) LIKE '%забор%', 13.33, 0) + IF (LCASE(pd.description) LIKE '%крепление для забора%', 20, 0) + IF (LCASE(pd.description) LIKE '%креплен%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%дл%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%забор%', 3.33, 0) + IF (LCASE(pd.tag) LIKE '%креплен%', 15, 0) + IF (LCASE(pd.tag) LIKE '%дл%', 15, 0) + IF (LCASE(pd.tag) LIKE '%забор%', 15, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%креплен%') OR (LCASE(pd.name) LIKE '%дл%') OR (LCASE(pd.name) LIKE '%забор%') ) OR ( (LCASE(pd.description) LIKE '%креплен%') OR (LCASE(pd.description) LIKE '%дл%') OR (LCASE(pd.description) LIKE '%забор%') ) OR ( (LCASE(pd.tag) LIKE '%креплен%') OR (LCASE(pd.tag) LIKE '%дл%') OR (LCASE(pd.tag) LIKE '%забор%') ) OR ( (LCASE(pa.text) LIKE 'креплен%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'дл%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'забор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%креплен%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%дл%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%забор%') ) OR ( (LCASE(p.sku) = 'креплен') OR (LCASE(p.sku) = 'дл') OR (LCASE(p.sku) = 'забор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 время выполнения от 2500 до 3500 мс Да что ж ты не угомонный такой? Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id Вторая проблема - известный специалист SV2109, который верит в то что такой поиск может работать. А он не может - меняется это дело на сфинкс и живет. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 LIKE '%makita%' Это 3.14 Автор не знает азов MySQL Когда при LIKE перед и после поисковой фразы стоит % - идет перебор ВСЕХ значений таблицы и индексы НЕ ИСПОЛЬЗУЮТСЯ LIKE '%makita%' Соответственно такие запросы будут оооооооооооооооооочень тормозными А там еще и куча OR с LIKE '%tyry_pyry%' Короче занавес Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 1 час назад, markimax сказал: Автор не знает азов MySQL хм.. А причем здесь азы? wildcards % и _ это и есть азы Ну, а то что не доработан механизм поиска .. минус автора Зачем искать слово "дл" такие слова должны попадать в исключения Релевантность считается только по паданию в описание, а не попаданию в атрибуты. По большому счету система поиска в ОС очень проста, и не совсем подходит для большого количества товаров. Но, даже на OC можно извратиться построить индекс .. и ускорить процесс. Но как сказано - а не посмотреть ли в сторону сфинкса? Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 4 квітня 2017 Share Опубліковано: 4 квітня 2017 4 часа назад, Blade сказал: Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю не актуально во первых нашел человека кто поможет во вторых снес нафиг этот чудо модуль Надіслати Поділитися на інших сайтах More sharing options... 2 months later... vcat Опубліковано: 28 червня 2017 Share Опубліковано: 28 червня 2017 В 04.03.2017 в 11:43, Dimdimych сказал: В менеджере дополнений найти ocmod Magazin и закомментировать (или удалить) эти строки: <operation> <search> <![CDATA[$this->load->model('catalog/product');]]> </search> <add position="after"> <![CDATA[if (!empty($category_id)) { $filter_data = array( 'filter_category_id' => $category_id ); } else { $filter_data = array( 'filter_category_id' => '' ); } $category_products = $this->model_catalog_product->getProducts($filter_data); $prevFixProduct = array(); $prevProduct = array(); $nextProduct = array(); foreach ($category_products as $product) { if ($product['product_id'] == $product_id) { $prevProduct = $prevFixProduct; } else { if (!empty($prevFixProduct) && $prevFixProduct['product_id'] == $product_id) { $nextProduct = $product; break; } } $prevFixProduct = $product; } $this->load->model('tool/image'); if (!empty($prevProduct)&&!empty($category_id)) { $data['prevProduct'] = array( 'name' => $prevProduct['name'], 'image' => $this->model_tool_image->resize($prevProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $prevProduct['product_id'] . '&path=' . $category_id) ); } if (!empty($nextProduct)&&!empty($category_id)) { $data['nextProduct'] = array( 'name' => $nextProduct['name'], 'image' => $this->model_tool_image->resize($nextProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $nextProduct['product_id'] . '&path=' . $category_id) ); }]]> </add> </operation> У меня та же беда - шаблон Magazin 9.4 (соответственно нет возможности отключения модуля предыдущий/следующий) из админки. Пробовал воспользоваться Вашей рекомендацией - к сожалению, не нашел модификатора шаблона (чайник я), удалил указанный Вами код из: /system/storage/modification/catalog/controller/product/product.php Увы, после этого страницы товара совсем не открываются, вернул все назад (( Надіслати Поділитися на інших сайтах More sharing options... 2 years later... stanr Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 В 25.02.2017 в 16:51, Dimdimych сказал: Анализ запросов к базе данных дал такие результаты (при чистом кєше): Queries: 918, Total time: 734.030 ms Сорри если не в тему, но как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 (змінено) 8 hours ago, stanr said: как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. как например Змінено 26 січня 2020 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... 2 years later... lenovocomkz Опубліковано: 30 червня 2022 Share Опубліковано: 30 червня 2022 25.02.2017 в 19:55, nikifalex сказал: какой именно кэш чистый? 25.02.2017 в 23:00, Dimdimych сказал: Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера 25.02.2017 в 22:59, Dimdimych сказал: Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе. Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Ускорение обработки запросов mysql Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 6 часов назад, Blade сказал: Добрый день Скажите по времени это долгие запросы ? надо искать причину или время в пределах нормы ? товаров примерно 25000 1. catalog/model/catalog/product.php а) Скрыть контент SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '2058') AND p.product_id != '2058' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 б) Скрыть контент SELECT * FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p2c.category_id IN (SELECT category_id FROM oc_product_to_category WHERE product_id = '1265') AND p.product_id != '1265' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' ORDER BY RAND() LIMIT 0, 5 время от 1000 до 1600 мс 2. catalog/model/catalog/search_mr.php а) Скрыть контент SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%makita bo3710 140441-9 подошва в сборе%', 60, 0) + IF (LCASE(pd.name) LIKE 'makita%', 80, 0) + IF (LCASE(pd.name) LIKE '%makita%', 8, 0) + IF (LCASE(pd.name) LIKE 'bo3710%', 80, 0) + IF (LCASE(pd.name) LIKE '%bo3710%', 8, 0) + IF (LCASE(pd.name) LIKE '140441-9%', 80, 0) + IF (LCASE(pd.name) LIKE '%140441-9%', 8, 0) + IF (LCASE(pd.name) LIKE 'подошв%', 80, 0) + IF (LCASE(pd.name) LIKE '%подошв%', 8, 0) + IF (LCASE(pd.name) LIKE 'сбор%', 80, 0) + IF (LCASE(pd.name) LIKE '%сбор%', 8, 0) + IF (LCASE(pd.description) LIKE '%makita bo3710 140441-9 подошва в сборе%', 20, 0) + IF (LCASE(pd.description) LIKE '%makita%', 2, 0) + IF (LCASE(pd.description) LIKE '%bo3710%', 2, 0) + IF (LCASE(pd.description) LIKE '%140441-9%', 2, 0) + IF (LCASE(pd.description) LIKE '%подошв%', 2, 0) + IF (LCASE(pd.description) LIKE '%сбор%', 2, 0) + IF (LCASE(pd.tag) LIKE '%makita%', 9, 0) + IF (LCASE(pd.tag) LIKE '%bo3710%', 9, 0) + IF (LCASE(pd.tag) LIKE '%140441-9%', 9, 0) + IF (LCASE(pd.tag) LIKE '%подошв%', 9, 0) + IF (LCASE(pd.tag) LIKE '%сбор%', 9, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%makita%') OR (LCASE(pd.name) LIKE '%bo3710%') OR (LCASE(pd.name) LIKE '%140441-9%') OR (LCASE(pd.name) LIKE '%подошв%') OR (LCASE(pd.name) LIKE '%сбор%') ) OR ( (LCASE(pd.description) LIKE '%makita%') OR (LCASE(pd.description) LIKE '%bo3710%') OR (LCASE(pd.description) LIKE '%140441-9%') OR (LCASE(pd.description) LIKE '%подошв%') OR (LCASE(pd.description) LIKE '%сбор%') ) OR ( (LCASE(pd.tag) LIKE '%makita%') OR (LCASE(pd.tag) LIKE '%bo3710%') OR (LCASE(pd.tag) LIKE '%140441-9%') OR (LCASE(pd.tag) LIKE '%подошв%') OR (LCASE(pd.tag) LIKE '%сбор%') ) OR ( (LCASE(pa.text) LIKE 'makita%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'bo3710%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE '140441-9%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'подошв%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'сбор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%makita%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%bo3710%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%1404419%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%подошв%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%сбор%') ) OR ( (LCASE(p.sku) = 'makita') OR (LCASE(p.sku) = 'bo3710') OR (LCASE(p.sku) = '140441-9') OR (LCASE(p.sku) = 'подошв') OR (LCASE(p.sku) = 'сбор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 б) Скрыть контент SELECT DISTINCT SQL_CALC_FOUND_ROWS (IF (LCASE(pd.name) LIKE '%крепление для забора%', 60, 0) + IF (LCASE(pd.name) LIKE 'креплен%', 80, 0) + IF (LCASE(pd.name) LIKE '%креплен%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'дл%', 80, 0) + IF (LCASE(pd.name) LIKE '%дл%', 13.33, 0) + IF (LCASE(pd.name) LIKE 'забор%', 80, 0) + IF (LCASE(pd.name) LIKE '%забор%', 13.33, 0) + IF (LCASE(pd.description) LIKE '%крепление для забора%', 20, 0) + IF (LCASE(pd.description) LIKE '%креплен%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%дл%', 3.33, 0) + IF (LCASE(pd.description) LIKE '%забор%', 3.33, 0) + IF (LCASE(pd.tag) LIKE '%креплен%', 15, 0) + IF (LCASE(pd.tag) LIKE '%дл%', 15, 0) + IF (LCASE(pd.tag) LIKE '%забор%', 15, 0)) AS relevance, p.product_id FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_attribute pa ON (p.product_id = pa.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( ( (LCASE(pd.name) LIKE '%креплен%') OR (LCASE(pd.name) LIKE '%дл%') OR (LCASE(pd.name) LIKE '%забор%') ) OR ( (LCASE(pd.description) LIKE '%креплен%') OR (LCASE(pd.description) LIKE '%дл%') OR (LCASE(pd.description) LIKE '%забор%') ) OR ( (LCASE(pd.tag) LIKE '%креплен%') OR (LCASE(pd.tag) LIKE '%дл%') OR (LCASE(pd.tag) LIKE '%забор%') ) OR ( (LCASE(pa.text) LIKE 'креплен%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'дл%' AND pa.language_id = '1' ) OR (LCASE(pa.text) LIKE 'забор%' AND pa.language_id = '1' ) ) OR ( (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%креплен%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%дл%') OR (LCASE(REPLACE(REPLACE(REPLACE(p.model, '-', ''), '/', ''), '_', '')) LIKE '%забор%') ) OR ( (LCASE(p.sku) = 'креплен') OR (LCASE(p.sku) = 'дл') OR (LCASE(p.sku) = 'забор') ) ) GROUP BY p.product_id ORDER BY relevance DESC, LCASE(pd.name) ASC LIMIT 0,30 время выполнения от 2500 до 3500 мс Да что ж ты не угомонный такой? Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id Вторая проблема - известный специалист SV2109, который верит в то что такой поиск может работать. А он не может - меняется это дело на сфинкс и живет. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 LIKE '%makita%' Это 3.14 Автор не знает азов MySQL Когда при LIKE перед и после поисковой фразы стоит % - идет перебор ВСЕХ значений таблицы и индексы НЕ ИСПОЛЬЗУЮТСЯ LIKE '%makita%' Соответственно такие запросы будут оооооооооооооооооочень тормозными А там еще и куча OR с LIKE '%tyry_pyry%' Короче занавес Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 1 час назад, markimax сказал: Автор не знает азов MySQL хм.. А причем здесь азы? wildcards % и _ это и есть азы Ну, а то что не доработан механизм поиска .. минус автора Зачем искать слово "дл" такие слова должны попадать в исключения Релевантность считается только по паданию в описание, а не попаданию в атрибуты. По большому счету система поиска в ОС очень проста, и не совсем подходит для большого количества товаров. Но, даже на OC можно извратиться построить индекс .. и ускорить процесс. Но как сказано - а не посмотреть ли в сторону сфинкса? Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 4 квітня 2017 Share Опубліковано: 4 квітня 2017 4 часа назад, Blade сказал: Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю не актуально во первых нашел человека кто поможет во вторых снес нафиг этот чудо модуль Надіслати Поділитися на інших сайтах More sharing options... 2 months later... vcat Опубліковано: 28 червня 2017 Share Опубліковано: 28 червня 2017 В 04.03.2017 в 11:43, Dimdimych сказал: В менеджере дополнений найти ocmod Magazin и закомментировать (или удалить) эти строки: <operation> <search> <![CDATA[$this->load->model('catalog/product');]]> </search> <add position="after"> <![CDATA[if (!empty($category_id)) { $filter_data = array( 'filter_category_id' => $category_id ); } else { $filter_data = array( 'filter_category_id' => '' ); } $category_products = $this->model_catalog_product->getProducts($filter_data); $prevFixProduct = array(); $prevProduct = array(); $nextProduct = array(); foreach ($category_products as $product) { if ($product['product_id'] == $product_id) { $prevProduct = $prevFixProduct; } else { if (!empty($prevFixProduct) && $prevFixProduct['product_id'] == $product_id) { $nextProduct = $product; break; } } $prevFixProduct = $product; } $this->load->model('tool/image'); if (!empty($prevProduct)&&!empty($category_id)) { $data['prevProduct'] = array( 'name' => $prevProduct['name'], 'image' => $this->model_tool_image->resize($prevProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $prevProduct['product_id'] . '&path=' . $category_id) ); } if (!empty($nextProduct)&&!empty($category_id)) { $data['nextProduct'] = array( 'name' => $nextProduct['name'], 'image' => $this->model_tool_image->resize($nextProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $nextProduct['product_id'] . '&path=' . $category_id) ); }]]> </add> </operation> У меня та же беда - шаблон Magazin 9.4 (соответственно нет возможности отключения модуля предыдущий/следующий) из админки. Пробовал воспользоваться Вашей рекомендацией - к сожалению, не нашел модификатора шаблона (чайник я), удалил указанный Вами код из: /system/storage/modification/catalog/controller/product/product.php Увы, после этого страницы товара совсем не открываются, вернул все назад (( Надіслати Поділитися на інших сайтах More sharing options... 2 years later... stanr Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 В 25.02.2017 в 16:51, Dimdimych сказал: Анализ запросов к базе данных дал такие результаты (при чистом кєше): Queries: 918, Total time: 734.030 ms Сорри если не в тему, но как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 (змінено) 8 hours ago, stanr said: как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. как например Змінено 26 січня 2020 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... 2 years later... lenovocomkz Опубліковано: 30 червня 2022 Share Опубліковано: 30 червня 2022 25.02.2017 в 19:55, nikifalex сказал: какой именно кэш чистый? 25.02.2017 в 23:00, Dimdimych сказал: Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера 25.02.2017 в 22:59, Dimdimych сказал: Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе. Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Ускорение обработки запросов mysql Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
markimax Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 LIKE '%makita%' Это 3.14 Автор не знает азов MySQL Когда при LIKE перед и после поисковой фразы стоит % - идет перебор ВСЕХ значений таблицы и индексы НЕ ИСПОЛЬЗУЮТСЯ LIKE '%makita%' Соответственно такие запросы будут оооооооооооооооооочень тормозными А там еще и куча OR с LIKE '%tyry_pyry%' Короче занавес Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 1 час назад, markimax сказал: Автор не знает азов MySQL хм.. А причем здесь азы? wildcards % и _ это и есть азы Ну, а то что не доработан механизм поиска .. минус автора Зачем искать слово "дл" такие слова должны попадать в исключения Релевантность считается только по паданию в описание, а не попаданию в атрибуты. По большому счету система поиска в ОС очень проста, и не совсем подходит для большого количества товаров. Но, даже на OC можно извратиться построить индекс .. и ускорить процесс. Но как сказано - а не посмотреть ли в сторону сфинкса? Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 4 квітня 2017 Share Опубліковано: 4 квітня 2017 4 часа назад, Blade сказал: Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю не актуально во первых нашел человека кто поможет во вторых снес нафиг этот чудо модуль Надіслати Поділитися на інших сайтах More sharing options... 2 months later... vcat Опубліковано: 28 червня 2017 Share Опубліковано: 28 червня 2017 В 04.03.2017 в 11:43, Dimdimych сказал: В менеджере дополнений найти ocmod Magazin и закомментировать (или удалить) эти строки: <operation> <search> <![CDATA[$this->load->model('catalog/product');]]> </search> <add position="after"> <![CDATA[if (!empty($category_id)) { $filter_data = array( 'filter_category_id' => $category_id ); } else { $filter_data = array( 'filter_category_id' => '' ); } $category_products = $this->model_catalog_product->getProducts($filter_data); $prevFixProduct = array(); $prevProduct = array(); $nextProduct = array(); foreach ($category_products as $product) { if ($product['product_id'] == $product_id) { $prevProduct = $prevFixProduct; } else { if (!empty($prevFixProduct) && $prevFixProduct['product_id'] == $product_id) { $nextProduct = $product; break; } } $prevFixProduct = $product; } $this->load->model('tool/image'); if (!empty($prevProduct)&&!empty($category_id)) { $data['prevProduct'] = array( 'name' => $prevProduct['name'], 'image' => $this->model_tool_image->resize($prevProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $prevProduct['product_id'] . '&path=' . $category_id) ); } if (!empty($nextProduct)&&!empty($category_id)) { $data['nextProduct'] = array( 'name' => $nextProduct['name'], 'image' => $this->model_tool_image->resize($nextProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $nextProduct['product_id'] . '&path=' . $category_id) ); }]]> </add> </operation> У меня та же беда - шаблон Magazin 9.4 (соответственно нет возможности отключения модуля предыдущий/следующий) из админки. Пробовал воспользоваться Вашей рекомендацией - к сожалению, не нашел модификатора шаблона (чайник я), удалил указанный Вами код из: /system/storage/modification/catalog/controller/product/product.php Увы, после этого страницы товара совсем не открываются, вернул все назад (( Надіслати Поділитися на інших сайтах More sharing options... 2 years later... stanr Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 В 25.02.2017 в 16:51, Dimdimych сказал: Анализ запросов к базе данных дал такие результаты (при чистом кєше): Queries: 918, Total time: 734.030 ms Сорри если не в тему, но как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 (змінено) 8 hours ago, stanr said: как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. как например Змінено 26 січня 2020 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... 2 years later... lenovocomkz Опубліковано: 30 червня 2022 Share Опубліковано: 30 червня 2022 25.02.2017 в 19:55, nikifalex сказал: какой именно кэш чистый? 25.02.2017 в 23:00, Dimdimych сказал: Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера 25.02.2017 в 22:59, Dimdimych сказал: Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе. Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Налаштування та оптимізація Ускорение обработки запросов mysql
chukcha Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 1 час назад, markimax сказал: Автор не знает азов MySQL хм.. А причем здесь азы? wildcards % и _ это и есть азы Ну, а то что не доработан механизм поиска .. минус автора Зачем искать слово "дл" такие слова должны попадать в исключения Релевантность считается только по паданию в описание, а не попаданию в атрибуты. По большому счету система поиска в ОС очень проста, и не совсем подходит для большого количества товаров. Но, даже на OC можно извратиться построить индекс .. и ускорить процесс. Но как сказано - а не посмотреть ли в сторону сфинкса? Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю Надіслати Поділитися на інших сайтах More sharing options... Blade Опубліковано: 4 квітня 2017 Share Опубліковано: 4 квітня 2017 4 часа назад, Blade сказал: Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю не актуально во первых нашел человека кто поможет во вторых снес нафиг этот чудо модуль Надіслати Поділитися на інших сайтах More sharing options... 2 months later... vcat Опубліковано: 28 червня 2017 Share Опубліковано: 28 червня 2017 В 04.03.2017 в 11:43, Dimdimych сказал: В менеджере дополнений найти ocmod Magazin и закомментировать (или удалить) эти строки: <operation> <search> <![CDATA[$this->load->model('catalog/product');]]> </search> <add position="after"> <![CDATA[if (!empty($category_id)) { $filter_data = array( 'filter_category_id' => $category_id ); } else { $filter_data = array( 'filter_category_id' => '' ); } $category_products = $this->model_catalog_product->getProducts($filter_data); $prevFixProduct = array(); $prevProduct = array(); $nextProduct = array(); foreach ($category_products as $product) { if ($product['product_id'] == $product_id) { $prevProduct = $prevFixProduct; } else { if (!empty($prevFixProduct) && $prevFixProduct['product_id'] == $product_id) { $nextProduct = $product; break; } } $prevFixProduct = $product; } $this->load->model('tool/image'); if (!empty($prevProduct)&&!empty($category_id)) { $data['prevProduct'] = array( 'name' => $prevProduct['name'], 'image' => $this->model_tool_image->resize($prevProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $prevProduct['product_id'] . '&path=' . $category_id) ); } if (!empty($nextProduct)&&!empty($category_id)) { $data['nextProduct'] = array( 'name' => $nextProduct['name'], 'image' => $this->model_tool_image->resize($nextProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $nextProduct['product_id'] . '&path=' . $category_id) ); }]]> </add> </operation> У меня та же беда - шаблон Magazin 9.4 (соответственно нет возможности отключения модуля предыдущий/следующий) из админки. Пробовал воспользоваться Вашей рекомендацией - к сожалению, не нашел модификатора шаблона (чайник я), удалил указанный Вами код из: /system/storage/modification/catalog/controller/product/product.php Увы, после этого страницы товара совсем не открываются, вернул все назад (( Надіслати Поділитися на інших сайтах More sharing options... 2 years later... stanr Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 В 25.02.2017 в 16:51, Dimdimych сказал: Анализ запросов к базе данных дал такие результаты (при чистом кєше): Queries: 918, Total time: 734.030 ms Сорри если не в тему, но как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. Надіслати Поділитися на інших сайтах More sharing options... 100napb Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 (змінено) 8 hours ago, stanr said: как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. как например Змінено 26 січня 2020 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... 2 years later... lenovocomkz Опубліковано: 30 червня 2022 Share Опубліковано: 30 червня 2022 25.02.2017 в 19:55, nikifalex сказал: какой именно кэш чистый? 25.02.2017 в 23:00, Dimdimych сказал: Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера 25.02.2017 в 22:59, Dimdimych сказал: Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе. Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Blade Опубліковано: 3 квітня 2017 Share Опубліковано: 3 квітня 2017 Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю Надіслати Поділитися на інших сайтах More sharing options...
Blade Опубліковано: 4 квітня 2017 Share Опубліковано: 4 квітня 2017 4 часа назад, Blade сказал: Куплю переписанный запрос "Первая проблема - rand - лечиться полным переписыванием запроса. И измененем SELECT * на SELECT product_id" Сам не поправлю не актуально во первых нашел человека кто поможет во вторых снес нафиг этот чудо модуль Надіслати Поділитися на інших сайтах More sharing options...
vcat Опубліковано: 28 червня 2017 Share Опубліковано: 28 червня 2017 В 04.03.2017 в 11:43, Dimdimych сказал: В менеджере дополнений найти ocmod Magazin и закомментировать (или удалить) эти строки: <operation> <search> <![CDATA[$this->load->model('catalog/product');]]> </search> <add position="after"> <![CDATA[if (!empty($category_id)) { $filter_data = array( 'filter_category_id' => $category_id ); } else { $filter_data = array( 'filter_category_id' => '' ); } $category_products = $this->model_catalog_product->getProducts($filter_data); $prevFixProduct = array(); $prevProduct = array(); $nextProduct = array(); foreach ($category_products as $product) { if ($product['product_id'] == $product_id) { $prevProduct = $prevFixProduct; } else { if (!empty($prevFixProduct) && $prevFixProduct['product_id'] == $product_id) { $nextProduct = $product; break; } } $prevFixProduct = $product; } $this->load->model('tool/image'); if (!empty($prevProduct)&&!empty($category_id)) { $data['prevProduct'] = array( 'name' => $prevProduct['name'], 'image' => $this->model_tool_image->resize($prevProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $prevProduct['product_id'] . '&path=' . $category_id) ); } if (!empty($nextProduct)&&!empty($category_id)) { $data['nextProduct'] = array( 'name' => $nextProduct['name'], 'image' => $this->model_tool_image->resize($nextProduct['image'], 70, 98), 'href' => $this->url->link('product/product', 'product_id=' . $nextProduct['product_id'] . '&path=' . $category_id) ); }]]> </add> </operation> У меня та же беда - шаблон Magazin 9.4 (соответственно нет возможности отключения модуля предыдущий/следующий) из админки. Пробовал воспользоваться Вашей рекомендацией - к сожалению, не нашел модификатора шаблона (чайник я), удалил указанный Вами код из: /system/storage/modification/catalog/controller/product/product.php Увы, после этого страницы товара совсем не открываются, вернул все назад (( Надіслати Поділитися на інших сайтах More sharing options...
stanr Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 В 25.02.2017 в 16:51, Dimdimych сказал: Анализ запросов к базе данных дал такие результаты (при чистом кєше): Queries: 918, Total time: 734.030 ms Сорри если не в тему, но как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. Надіслати Поділитися на інших сайтах More sharing options...
100napb Опубліковано: 26 січня 2020 Share Опубліковано: 26 січня 2020 (змінено) 8 hours ago, stanr said: как вы смотрите количество запросов? может есть скрипт? поделитесь плз, все перерыл, не нашел. как например Змінено 26 січня 2020 користувачем 100napb Надіслати Поділитися на інших сайтах More sharing options... 2 years later... lenovocomkz Опубліковано: 30 червня 2022 Share Опубліковано: 30 червня 2022 25.02.2017 в 19:55, nikifalex сказал: какой именно кэш чистый? 25.02.2017 в 23:00, Dimdimych сказал: Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера 25.02.2017 в 22:59, Dimdimych сказал: Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе. Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей. Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 3 Вперед Сторінка 3 з 3 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 1
lenovocomkz Опубліковано: 30 червня 2022 Share Опубліковано: 30 червня 2022 25.02.2017 в 19:55, nikifalex сказал: какой именно кэш чистый? 25.02.2017 в 23:00, Dimdimych сказал: Имел ввиду - почистил системный кэш и кэш изображений движка и кэш браузера 25.02.2017 в 22:59, Dimdimych сказал: Да уж много модулей стоит: SeoGen 2.0.5, Image Manager Pro+, SORTS+, SEO CMS (+мультиязык), Magic Zoom Plus, SOFORP SMS Информер, After Purchase Review Invitation, Email Template - Advanced, GeoIP, Mega Filter PRO, Rev Slider Opencart, YO • Меню, Акции, подарки [sv2109.com], Группы товаров ( louise170 ), Модуль Настройки заказов ( Alex.Konushin ), Поиск с вариантами [sv2109.com], Поиск с морфологией и релевантностью PRO [sv2109.com], Простая регистрация и заказ Simple, Статусы Товаров PRO [sv2109.com], Оплата после проверки и/или оплата на реквизиты, Доставка Плюс ( louise170 ), Новая Почта API, Менеджер скидок/наценок ( louise170), Система поощрения и лояльности клиентов ( sergius_sv ), а так же мод, изменяющий кнопку купить в зависимости от состояния на складе. Как видите, достаточно много, но они мне все нужны... Кроме этого использую тему MAGAZIN, а там еще хватает своих модулей. Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts