當我使用這個查詢時,一切正常。 5結果爲0.3587秒。執行時溢出,當執行wihout限制時
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
如果使用相關名稱(「標記」)而不是整個表名,查詢會變得更具可讀性,特別是因爲您引用了相同的表四(四個!!!)次。順便說一句:prod_combined.sku是主鍵嗎? – wildplasser 2012-04-25 14:11:43
我很抱歉。也許我應該開始一種新的方式。 關於我的應用程序,我需要把它寫在子查詢中。但我還不熟悉這些。你認爲你能幫助我嗎? – 2012-04-25 14:14:47
你不能編輯帖子嗎?順便說一聲:rangGesamt從哪裏來? prod_billiger? – wildplasser 2012-04-25 14:15:21