CZeść,
mam taki problem z MySQL, że przy użyciu group by zapytanie wykonuje się 20-30% dłużej i tak się zastanawiam czy ja mam złe zapytanie czy muszę zmienić strukturę bazy by uniknąć grupowania
SELECT `product_name`.`name`, `product_name`.`id`, `product`.`id` AS `product_id`
FROM (SELECT `name`, `id` from product_name WHERE MATCH (name) AGAINST ('led' IN BOOLEAN MODE)) as product_name
LEFT JOIN `product` ON `product_name`.`id` = `product`.`name_id`
LEFT JOIN `product_group_relation` ON `product`.`id` = `product_group_relation`.`product_id`
GROUP BY `product_group_relation`.`product_group_id` LIMIT 20
struktura product_group_relation
product_group_id | product_id
85232 | 487931
85233 | 487932
product_group_relation określa które produkty są ze sobą powiązane, sprawdza to na podstawie nazwy, bo jak widać posiadam tabelkę product_name by trzymać w niej unikalne nazwy produktów i nie duplikować ich co się zdarza, ta sama nazwa produktu inny sklep. No i ten nieszczęsny group by -30% do wydajności obecnie jest 50tyś produktów wykonanie zapytania zajmuje średnio 90.4 ms + count dla paginacji, niby niewiele ale produktów ma być 3mln, da się to jakoś szybciej pobrać ?