このクエリを使用すると、すべてがうまく機能します。5 結果は 0.3587 秒。
SELECT `prod_combined`.`sku`, `prod_combined`.`titel`, `prod_combined`.`preis_vk`,
`prod_combined`.`link`
FROM `prod_combined`
WHERE
(
prod_combined.sku IN
(
SELECT
prod_combined.sku FROM
(
SELECT prod_combined.sku FROM prod_billiger
INNER JOIN
prod_combined ON prod_combined.sku = prod_billiger.sku
WHERE rangGesamt = 1
AND prod_combined.aktiv = 1
) q
JOIN prod_combined ON prod_combined.sku = q.sku)
)
AND (aktiv = 1)
LIMIT 0,5
しかし、このクエリを使用すると、約 3 分間実行されます。
SELECT `prod_combined`.`sku`, `prod_combined`.`titel`, `prod_combined`.`preis_vk`,
`prod_combined`.`link`
FROM `prod_combined`
WHERE
(
prod_combined.sku IN
(
SELECT
prod_combined.sku FROM
(
SELECT prod_combined.sku FROM prod_billiger
INNER JOIN
prod_combined ON prod_combined.sku = prod_billiger.sku
WHERE rangGesamt = 1
AND prod_combined.aktiv = 1
) q
JOIN prod_combined ON prod_combined.sku = q.sku)
)
AND (aktiv = 1)
何をしようとしているか: 最初の場所にあるすべての製品を取得します (prod_billiger.rangGesamt)。この情報は「prod_billiger」テーブルで取得します。他の製品情報は、prod_combined から取得されます。
それをスピードアップする方法はありますか?クエリ全体を考え直す必要がありますか?
よろしく、chucky2305