以下にselectクエリがあります。これは、Virtuemartテーブルから特定の属性に一致するすべての製品を選択することです。属性テーブルはかなり大きいです(ほぼ6000行)。以下のクエリを最適化する方法はありますか、または役立つ可能性のある他のプロセスはありますか?私はすでに1つまたは2つのテーブルにインデックスを追加しようとしました。
SELECT DISTINCT `jos_vm_product`.`product_id`,
`jos_vm_product_attribute`.`attribute_name`,
`jos_vm_product_attribute`.`attribute_value`,
`jos_vm_product_attribute`.`product_id`
FROM (`jos_vm_product`)
RIGHT JOIN `jos_vm_product_attribute`
ON `jos_vm_product`.`product_id` = `jos_vm_product_attribute`.`product_id`
WHERE ((`jos_vm_product_attribute`.`attribute_name` = 'Size')
AND ((`jos_vm_product_attribute`.`attribute_value` = '6.5')
OR (`jos_vm_product_attribute`.`attribute_value` = '10')))
GROUP BY `jos_vm_product`.`product_sku`
ORDER BY CONVERT(`jos_vm_product_attribute`.`attribute_value`, SIGNED INTEGER)
LIMIT 0, 24
EXPLAINテーブルの結果は次のとおりです。
idselect_typeテーブルタイプpossible_keyskeykey_len ref rowsExtras 1 SIMPLE jos_vm_product_attribute range idx_product_attribute_name、attribute_value、attribute_name attribute_value 765NULL333使用場所; 一時的な使用; filesortの使用 1 SIMPLE jos_vm_product eq_ref PRIMARY PRIMARY 4shoesmark_com_shop.jos_vm_product_attribute.product_id
どんな助けでも大歓迎です。ありがとう。