2013-01-23 79 views
1

我的數據庫有兩列:時間和工作。它非常大而且仍在增長。使用sql獲取最後的數據庫條目非常慢

我要選擇的最後一個條目:

$sql = "SELECT time, work FROM device ORDER BY time DESC LIMIT 1" 

它需要1.5秒的反應吧。 我怎樣才能加快速度?因爲我重複了20次。

我不能等待20秒。

問候!

+2

我認爲你已經索引了時間列?此外,看看爲什麼你做同樣的事情20次(如果你是),你可能會找到一種方法,在那裏加快95%的事情。 – paul

+0

如果您確實只選擇其中的兩列,請在兩列上添加覆蓋索引,而不僅僅是按時間。會更快。 – MicSim

回答

4

使用MAX

SELECT * 
FROM tableName 
WHERE time = (SELECT MAX(time) FROM device) 

附加也time


Index我想知道你爲什麼要重複這個20倍。如果您正在使用應用程序lebel,也許可以將結果添加到變量中,以便您不會再執行一次。

+0

我想他也要工作欄:) – mattytommo

+0

@mattytommo是的,更新。 –

+0

時間列是時間戳,我想要上一個工作條目。所以我需要按時間訂購 – Susanne92

相關問題