当我使用这个查询时,一切正常。 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