volchonok27 Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Привет всем. нужно помощь по оптимизации opencart 2.1, будет около 50000 товаров и 700 категорий. Нагрузил магазины тестовыми товарами около 60000 тысяч. И нужно по максу ускорить его работу. А первое что жалуется в журнале медленных запросов , такой запрос: # Time: 160823 13:33:31 # User@Host: admin_moto[admin_moto] @ localhost [] # Query_time: 6.475727 Lock_time: 0.000153 Rows_sent: 0 Rows_examined: 3433933 SET timestamp=1471959211; SELECT `c`.`parent_id`, `c`.`category_id`,`cd`.`name`, ( SELECT COUNT(DISTINCT `p`.`product_id`) AS total FROM `oc_product_to_category` AS `p2c` INNER JOIN `oc_product` AS `p` ON `p`.`product_id` = `p2c`.`product_id` INNER JOIN `oc_category_path` AS `cp` ON `cp`.`category_id` = `p2c`.`category_id` INNER JOIN `oc_product_to_store` AS `p2s` ON `p2s`.`product_id` = `p`.`product_id` AND `p2s`.`store_id` = 0 INNER JOIN `oc_product_description` AS `pd` ON `pd`.`product_id` = `p`.`product_id` AND `pd`.`language_id` = 4 WHERE `p`.`date_available` <= NOW() AND `p`.`status` = '1' AND ((LCASE(`pd`.`name`) LIKE '%aaasimq%') OR LCASE(`p`.`model`) = 'aaasimq ' OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) LIKE '%aaasimq %') AND `cp`.`path_id` = `c`.`category_id` ) AS `aggregate` FROM `oc_category` AS `c` INNER JOIN `oc_category_description` AS `cd` ON `cd`.`category_id` = `c`.`category_id` AND `cd`.`language_id` = '4' INNER JOIN `oc_category_to_store` AS `c2s` ON `c`.`category_id` = `c2s`.`category_id` AND `c2s`.`store_id` = '0' WHERE `c`.`status` = '1' AND `c`.`parent_id` = 0 GROUP BY `c`.`category_id` HAVING `aggregate` > 0 ORDER BY `c`.`sort_order` ASC, `cd`.`name` ASC; Нужно как-то оптимизировать его, это при поиске товара, и когда наверное нажимаешь его открыть , выполняется этот запрос. Думаю кому-то тоже это нужно, не только мне Надіслати Поділитися на інших сайтах More sharing options...
pantagruel964 Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это ж подсчет товаров. Отключите в админке. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это ж подсчет товаров. Отключите в админке. Скорей всего это какой-то из фильтров 1. Потому что это не в стиле OC ипользовать JOIN (INNER JOIN) 2. Наличие HAVING - фильтрует уже полученный ответ - что на больших данных значительно тормозит Надіслати Поділитися на інших сайтах More sharing options... volchonok27 Опубліковано: 23 серпня 2016 Автор Share Опубліковано: 23 серпня 2016 Это ж подсчет товаров. Отключите в админке. подсчет у меня отключен Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 порой недостаточно просто отключить в админке ищите в файлах по коду SELECT COUNT(DISTINCT `p`.`product_id`) AS total смотрите что за модули к нему обращаются и обходите по-возможности Надіслати Поділитися на інших сайтах More sharing options... volchonok27 Опубліковано: 23 серпня 2016 Автор Share Опубліковано: 23 серпня 2016 порой недостаточно просто отключить в админке ищите в файлах по коду SELECT COUNT(DISTINCT `p`.`product_id`) AS total смотрите что за модули к нему обращаются и обходите по-возможности а как пагинация товаров тогда будет работать если закоментить подсчет товаров Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 для этого нужна полная оптимизация поможет snastik https://opencartforum.com/user/7246-snastik/ Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 WHERE `p`.`date_available` <= NOW() AND `p`.`status` = '1' AND ((LCASE(`pd`.`name`) LIKE '%aaasimq%') OR LCASE(`p`.`model`) = 'aaasimq ' OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) LIKE '%aaasimq %') AND `cp`.`path_id` = `c`.`category_id` Это не запрос - это 3.14 производительности, Like %...% это перебор по всей базе без индексов а еще и OR, Having, Count, IJ и т п - полный 3.14 Советовал бы разбить на простые данный запрос Чаще получается куча простых выполняются во много раз быстрее одного сложного Да и их легче оптимизировать при нагрузке и разделить по ресурсам Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 + 5 копеек `p`.`date_available` <= NOW() там вроде доступность в часах минутах секундах не задается, да и с вероятностью 62.471% даже не знает что это такое AND `c2s`.`store_id` = '0' с вероятностью 92.412% это не мультимагазин OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) с вероятностью 98.245% проверки вхождений во всякие jan, mpn и т.д. не нужны 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это какой-то фильтр при поиске, типа найденные товары находятся в таких-то категориях Как его оптимизировать - вопрос - от потребностей. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Ускорение опенкарт 2.1 Нужно ускорить работу запроса Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это ж подсчет товаров. Отключите в админке. Скорей всего это какой-то из фильтров 1. Потому что это не в стиле OC ипользовать JOIN (INNER JOIN) 2. Наличие HAVING - фильтрует уже полученный ответ - что на больших данных значительно тормозит Надіслати Поділитися на інших сайтах More sharing options... volchonok27 Опубліковано: 23 серпня 2016 Автор Share Опубліковано: 23 серпня 2016 Это ж подсчет товаров. Отключите в админке. подсчет у меня отключен Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 порой недостаточно просто отключить в админке ищите в файлах по коду SELECT COUNT(DISTINCT `p`.`product_id`) AS total смотрите что за модули к нему обращаются и обходите по-возможности Надіслати Поділитися на інших сайтах More sharing options... volchonok27 Опубліковано: 23 серпня 2016 Автор Share Опубліковано: 23 серпня 2016 порой недостаточно просто отключить в админке ищите в файлах по коду SELECT COUNT(DISTINCT `p`.`product_id`) AS total смотрите что за модули к нему обращаются и обходите по-возможности а как пагинация товаров тогда будет работать если закоментить подсчет товаров Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 для этого нужна полная оптимизация поможет snastik https://opencartforum.com/user/7246-snastik/ Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 WHERE `p`.`date_available` <= NOW() AND `p`.`status` = '1' AND ((LCASE(`pd`.`name`) LIKE '%aaasimq%') OR LCASE(`p`.`model`) = 'aaasimq ' OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) LIKE '%aaasimq %') AND `cp`.`path_id` = `c`.`category_id` Это не запрос - это 3.14 производительности, Like %...% это перебор по всей базе без индексов а еще и OR, Having, Count, IJ и т п - полный 3.14 Советовал бы разбить на простые данный запрос Чаще получается куча простых выполняются во много раз быстрее одного сложного Да и их легче оптимизировать при нагрузке и разделить по ресурсам Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 + 5 копеек `p`.`date_available` <= NOW() там вроде доступность в часах минутах секундах не задается, да и с вероятностью 62.471% даже не знает что это такое AND `c2s`.`store_id` = '0' с вероятностью 92.412% это не мультимагазин OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) с вероятностью 98.245% проверки вхождений во всякие jan, mpn и т.д. не нужны 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это какой-то фильтр при поиске, типа найденные товары находятся в таких-то категориях Как его оптимизировать - вопрос - от потребностей. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Ускорение опенкарт 2.1 Нужно ускорить работу запроса Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
volchonok27 Опубліковано: 23 серпня 2016 Автор Share Опубліковано: 23 серпня 2016 Это ж подсчет товаров. Отключите в админке. подсчет у меня отключен Надіслати Поділитися на інших сайтах More sharing options...
AlexDW Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 порой недостаточно просто отключить в админке ищите в файлах по коду SELECT COUNT(DISTINCT `p`.`product_id`) AS total смотрите что за модули к нему обращаются и обходите по-возможности Надіслати Поділитися на інших сайтах More sharing options... volchonok27 Опубліковано: 23 серпня 2016 Автор Share Опубліковано: 23 серпня 2016 порой недостаточно просто отключить в админке ищите в файлах по коду SELECT COUNT(DISTINCT `p`.`product_id`) AS total смотрите что за модули к нему обращаются и обходите по-возможности а как пагинация товаров тогда будет работать если закоментить подсчет товаров Надіслати Поділитися на інших сайтах More sharing options... ArtemPitov Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 для этого нужна полная оптимизация поможет snastik https://opencartforum.com/user/7246-snastik/ Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 WHERE `p`.`date_available` <= NOW() AND `p`.`status` = '1' AND ((LCASE(`pd`.`name`) LIKE '%aaasimq%') OR LCASE(`p`.`model`) = 'aaasimq ' OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) LIKE '%aaasimq %') AND `cp`.`path_id` = `c`.`category_id` Это не запрос - это 3.14 производительности, Like %...% это перебор по всей базе без индексов а еще и OR, Having, Count, IJ и т п - полный 3.14 Советовал бы разбить на простые данный запрос Чаще получается куча простых выполняются во много раз быстрее одного сложного Да и их легче оптимизировать при нагрузке и разделить по ресурсам Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 + 5 копеек `p`.`date_available` <= NOW() там вроде доступность в часах минутах секундах не задается, да и с вероятностью 62.471% даже не знает что это такое AND `c2s`.`store_id` = '0' с вероятностью 92.412% это не мультимагазин OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) с вероятностью 98.245% проверки вхождений во всякие jan, mpn и т.д. не нужны 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это какой-то фильтр при поиске, типа найденные товары находятся в таких-то категориях Как его оптимизировать - вопрос - от потребностей. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Ускорение опенкарт 2.1 Нужно ускорить работу запроса Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
volchonok27 Опубліковано: 23 серпня 2016 Автор Share Опубліковано: 23 серпня 2016 порой недостаточно просто отключить в админке ищите в файлах по коду SELECT COUNT(DISTINCT `p`.`product_id`) AS total смотрите что за модули к нему обращаются и обходите по-возможности а как пагинация товаров тогда будет работать если закоментить подсчет товаров Надіслати Поділитися на інших сайтах More sharing options...
ArtemPitov Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 для этого нужна полная оптимизация поможет snastik https://opencartforum.com/user/7246-snastik/ Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 WHERE `p`.`date_available` <= NOW() AND `p`.`status` = '1' AND ((LCASE(`pd`.`name`) LIKE '%aaasimq%') OR LCASE(`p`.`model`) = 'aaasimq ' OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) LIKE '%aaasimq %') AND `cp`.`path_id` = `c`.`category_id` Это не запрос - это 3.14 производительности, Like %...% это перебор по всей базе без индексов а еще и OR, Having, Count, IJ и т п - полный 3.14 Советовал бы разбить на простые данный запрос Чаще получается куча простых выполняются во много раз быстрее одного сложного Да и их легче оптимизировать при нагрузке и разделить по ресурсам Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 + 5 копеек `p`.`date_available` <= NOW() там вроде доступность в часах минутах секундах не задается, да и с вероятностью 62.471% даже не знает что это такое AND `c2s`.`store_id` = '0' с вероятностью 92.412% это не мультимагазин OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) с вероятностью 98.245% проверки вхождений во всякие jan, mpn и т.д. не нужны 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это какой-то фильтр при поиске, типа найденные товары находятся в таких-то категориях Как его оптимизировать - вопрос - от потребностей. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Ускорение опенкарт 2.1 Нужно ускорить работу запроса Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
markimax Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 WHERE `p`.`date_available` <= NOW() AND `p`.`status` = '1' AND ((LCASE(`pd`.`name`) LIKE '%aaasimq%') OR LCASE(`p`.`model`) = 'aaasimq ' OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) LIKE '%aaasimq %') AND `cp`.`path_id` = `c`.`category_id` Это не запрос - это 3.14 производительности, Like %...% это перебор по всей базе без индексов а еще и OR, Having, Count, IJ и т п - полный 3.14 Советовал бы разбить на простые данный запрос Чаще получается куча простых выполняются во много раз быстрее одного сложного Да и их легче оптимизировать при нагрузке и разделить по ресурсам Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 + 5 копеек `p`.`date_available` <= NOW() там вроде доступность в часах минутах секундах не задается, да и с вероятностью 62.471% даже не знает что это такое AND `c2s`.`store_id` = '0' с вероятностью 92.412% это не мультимагазин OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) с вероятностью 98.245% проверки вхождений во всякие jan, mpn и т.д. не нужны 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это какой-то фильтр при поиске, типа найденные товары находятся в таких-то категориях Как его оптимизировать - вопрос - от потребностей. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Загальні питання Ускорение опенкарт 2.1 Нужно ускорить работу запроса
Otvet Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 + 5 копеек `p`.`date_available` <= NOW() там вроде доступность в часах минутах секундах не задается, да и с вероятностью 62.471% даже не знает что это такое AND `c2s`.`store_id` = '0' с вероятностью 92.412% это не мультимагазин OR LCASE(`p`.`sku`) = 'aaasimq ' OR LCASE(`p`.`upc`) = 'aaasimq ' OR LCASE(`p`.`ean`) = 'aaasimq ' OR LCASE(`p`.`jan`) = 'aaasimq ' OR LCASE(`p`.`isbn`) = 'aaasimq ' OR LCASE(`p`.`mpn`) = 'aaasimq ' OR LCASE(`pd`.`tag`) с вероятностью 98.245% проверки вхождений во всякие jan, mpn и т.д. не нужны 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это какой-то фильтр при поиске, типа найденные товары находятся в таких-то категориях Как его оптимизировать - вопрос - от потребностей. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
chukcha Опубліковано: 23 серпня 2016 Share Опубліковано: 23 серпня 2016 Это какой-то фильтр при поиске, типа найденные товары находятся в таких-то категориях Как его оптимизировать - вопрос - от потребностей. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts