Оптимизировать медленные запросы к БД Opencart
872 UAHКатегории открываются долго из-за этого запроса:
Info: SELECT p.product_id, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) 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) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '6562' GROUP BY p.product_id ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC, LCASE(pd.name) ASC LIMIT 0,102
Это проблема CMS, у данной CMS это постоянная проблема, так как в ней используются неоптимизированные sql запросы. В частности этот выполняется 11 секунд и перебирает 224 тысячи строк:
*************************** 1. row ***************************
id: 1
select_type: PRIMARY
table: p2s
partitions: NULL
type: ref
possible_keys: PRIMARY,product_id,store_id
key: store_id
key_len: 4
ref: const
rows: 224043
filtered: 100.00
Extra: Using index; Using temporary; Using filesort
Нужно оптимизировать данный запрос, так как выборка делается из таблицы oc_product_to_store в которой 2 поля и проставление индексов не поможет.
Актуальные фриланс-проекты в категории Базы данных
Форматирование данных таблицы и анализ RFM1. Из CRM выгружена таблица всех заказов клиентов. Необходимо отформатировать её таким образом, чтобы она стала удобной для чтения и работы. Должны быть следующие столбцы: клиент (ФИО) номер телефона общее количество заказов дата последнего заказа количество дней до последнего… Базы данных, Обработка данных ∙ 6 ставок |
Настроить передачу массива rro_info в платежах с сайта WordPress
1000 UAH
Реализовать передачу массива rro_info по API. для того чтобы фискализировать платежи с помощью ПРРО LiqPay Обязательным условием фискализации является наличие данных о товарах, за которые выполняется оплата. Для передачи данных товаров в запросе Liqpay по API необходимо… Базы данных, Веб-программирование ∙ 1 ставка |
Доработка онлайн-магазина!!! Пожалуйста, опыт работы с OpenCart 3 от 3х лет !!! 1. **Оптимизация производительности:** - Идентификация и устранение узких мест в производительности магазина, таких как медленные запросы к базе данных, неэффективные алгоритмы и т.д. 2. **Разработка и внедрение… Базы данных, Веб-программирование ∙ 1 ставка |
Извлечь данные из CSV и экспортировать в Google Sheet
5000 UAH
Добрый день! Требуется извлечь данные из порядка 10 csv-файлов (в каждом не более 200 строк и 10 столбцов) определенного формата, обработать их и экспортировать в google sheet по шаблону. Исходные csv-файлы предоставлю конечному разработчику в виду конфиденциальных причин.… Python, Базы данных ∙ 11 ставок |
Уменьшить дисковое пространство занимаемое сайтомПроанализировать за счет чего можно уменьшить вес занимаемый сайтом на хостинге и уменьшить этот вес сейчас занимаемый вес 32гб, хотя сайт еще на стадии запуска. сайта megasockcs.com.ua идеально бы уменьшить вес хотя бы раза в 2 если это возможно, если нет, обосновать почему… Базы данных, Веб-программирование ∙ 11 ставок |