次の3つのMySQLテーブルがあります(table_name:column_listとして表示されます)。
tbl_product: id, name
tbl_sales: productid, date
tbl_impressions: productid, date
tbl_productsは利用可能な商品を保存し、tbl_salesは商品の各販売を保存し、 tbl_impressionsは商品の各印象を保存します。販売、展示、またはその両方の商品を探したいのですが。これについて私が試みたクエリは次のとおりです。
SELECT prod.name
FROM tbl_product prod
LEFT JOIN tbl_sales sales ON sales.productid=prod.id
LEFT JOIN tbl_impressions imp ON imp.productid=prod.id
WHERE (sales.productid IS NOT NULL) OR (imp.productid IS NOT NULL)
ただし、私のテストでは、このクエリは非常に低速です。それを改善するためにどのようなオプションがありますか?