2017-01-19 73 views
0

我有一個MySQL查詢該是這樣的(我已經簡化它)替代在查詢列表的MySQL

Select A.a ,B.b 
from A,B 
where 
A.c = B.c 
and A.d in (100,121,134,155,132...) 

通常有在IN條件約1000個條目。考慮到MySQL中的IN性能不好,是否有辦法加快速度?

+2

把名單在臨時表和'Join'與您的查詢。還開始使用'INNER JOIN'而不是舊式的折舊逗號分隔連接 –

+0

'A.d'上是否有索引? –

+0

並且不要使用逗號樣式JOINs – Strawberry

回答

-1

如果您有A.D列(比如說X到Y)特定範圍,可以試試這個:

SELECT A.a, B.b FROM A 
JOIN B ON 
A.c = B.c 
WHERE A.d BETWEEN x AND y; 
+1

對於另一個問題,這是一個很好的答案 – Strawberry