Hi, versuch mal :
hierzu machst du folgende indizes
auf products -> id,product_status,section_id
auf products_to_categories -> products_id
auf categories_description -> id, language_id
das sollte bei so kleinen mengen schon reichen. Wenn sich das EXPLAIN und die Laufzeit nicht bessern, musst du mit USE_INDEX in der TABLES-CLAUSE die Indizes vorgeben, evtl. grützt der "Optimizer" von MySQL da herum (der zieht per standard immer den kleinsten Index zuerst an, was nicht wirklich "optimieren" bedeutet).
grüße
gore
SQL:
SELECT cd.categories_name, p.section_id, p.products_id, p.products_image, p.products_tax_class_id, p.products_price
FROM products p
INNER JOIN products_to_categories p2c
ON p.products_id = p2c.products_id
INNER JOIN categories_description cd
ON p2c.categories_id = cd.categories_id
WHERE cd.language_id = '2'
AND p.products_status = '1'
AND p.section_id IN ( '0' ,'13')
ORDER BY p.products_date_added DESC
LIMIT 10
hierzu machst du folgende indizes
auf products -> id,product_status,section_id
auf products_to_categories -> products_id
auf categories_description -> id, language_id
das sollte bei so kleinen mengen schon reichen. Wenn sich das EXPLAIN und die Laufzeit nicht bessern, musst du mit USE_INDEX in der TABLES-CLAUSE die Indizes vorgeben, evtl. grützt der "Optimizer" von MySQL da herum (der zieht per standard immer den kleinsten Index zuerst an, was nicht wirklich "optimieren" bedeutet).
grüße
gore