我的數據庫有兩列:時間和工作。它非常大而且仍在增長。使用sql獲取最後的數據庫條目非常慢
我要選擇的最後一個條目:
$sql = "SELECT time, work FROM device ORDER BY time DESC LIMIT 1"
它需要1.5秒的反應吧。 我怎樣才能加快速度?因爲我重複了20次。
我不能等待20秒。
問候!
我的數據庫有兩列:時間和工作。它非常大而且仍在增長。使用sql獲取最後的數據庫條目非常慢
我要選擇的最後一個條目:
$sql = "SELECT time, work FROM device ORDER BY time DESC LIMIT 1"
它需要1.5秒的反應吧。 我怎樣才能加快速度?因爲我重複了20次。
我不能等待20秒。
問候!
使用MAX
SELECT *
FROM tableName
WHERE time = (SELECT MAX(time) FROM device)
附加也time
列
的Index
我想知道你爲什麼要重複這個20倍。如果您正在使用應用程序lebel,也許可以將結果添加到變量中,以便您不會再執行一次。
我認爲你已經索引了時間列?此外,看看爲什麼你做同樣的事情20次(如果你是),你可能會找到一種方法,在那裏加快95%的事情。 – paul
如果您確實只選擇其中的兩列,請在兩列上添加覆蓋索引,而不僅僅是按時間。會更快。 – MicSim