2011-09-19 142 views
0

我有表中有數以百萬計的記錄從我提取成千上萬的行到臨時表,即使查詢臨時表與簡單的地方,它需要幾小時才能得到結果,是否有任何知道我可以如何加快查詢處理時間?加快查詢執行速度

查詢是這樣的

Select col_name col1, col_name2 col2 from tbl_temp where col_name3 = 'value' and 
col_name4 = 'value' order by col_name desc limit 2; 

回答

1

一定col_name3,col_name4和COL_NAME有正確的索引,而且,如果可能的話,如果你還沒有加入索引來臨時日期

+0

不,我不能添加這些列索引他們包含重複的條目。 –

+0

@ somu.web:只要您不嘗試將它們設置爲主要或唯一,您*可以*索引包含重複項的列。 – Kaivosukeltaja

0

partritioned表,你應該。

+0

雅我已經添加索引到臨時表爲col_name3 –

0

嘗試explain查詢。它將爲您提供有關查詢執行方式的大量信息,包括需要查看的行數以及是否可以使用索引。

EXPLAIN Select col_name col1, col_name2 col2 from tbl_temp where col_name3 = 'value' and col_name4 = 'value' order by col_name desc limit 2; 
+0

雅試圖解釋還額外獲得「where子句」。 –