Решил заняться оптимизацией запросов на интернет-магазине, ибо в таблице товаров уже порядка 15000 наименований, и загрузка страницы стала заметно подтупливать, не критично, но и не особо приятно. Вот хочу посоветоваться с вами, кто, что посоветует.
Есть таблицы: 1 - t1 - коллекции 2 - t3 - товары (привязаны к коллекции по collection_id) 3 - t3 - характеристики товаров (привязаны к товарам по product_id)
Мы в каталоге выводим коллекции, основываясь на сортировке по характеристикам товаров, запрос получается громоздкий:
SELECT
DISTINCT
`t1`.`title`,
`t1`.`id`,
`t1`.`imgs`,
`t1`.`price`,
`t1`.`code_col`,
`t1`.`brand_id`,
count(*) as cnt
FROM
`t1`
INNER JOIN
`t2` ON `t1`.`id` = `t2`.`collection_id`
INNER JOIN
`t3` ON `t2`.`id` = `t3`.`product_id`
WHERE
`t1`.`section_id` = 1
+ куча параметров из сортировки по разным таблицам
GROUP BY
`t2`.`id`
HAVING
cnt = 1 (кол-во разных параметров сортировки)
ORDER BY
`t1`.`price` * (1 - `sale`), `t1`.`id`
LIMIT
0, 30 (и т.д. постраничная навигация по 30 штук на странице)
Иногда появляется еще один INNER JOIN с размерами товаров (отдельная таблица размеров, соединяется с товарами по product_id)
Можно ли как-нибудь облегчить сию конструкцию?
Пишу на С/С++, но вижу, что языки со сборкой мусора набирают популярностьОпять же надоело искать утечки памяти
Есть qml файл в котором нарисован датчик, содержимое примерно такое:
В функции array_print параметр arr является указателем на элемент массиваУзнать размер массива по указателю на его элемент невозможно