我正在VPS上運行論壇,運行Percona DB,PHP 5.5.8,操作碼緩存等等,它都是非常快速的。在MySQL數據庫中增加計數器的最快方法
我也在運行New Relic(是的,我有T恤)。
當我調整應用程序時,優化查詢,論壇正在向數據庫發送任何查詢在我耗時的列表頂部。
現在,我使用的最耗時的查詢,因爲它是最常用的查詢是每個主題的簡單命中計數器。
所以查詢是:
UPDATE topics SET num_views = num_views + 1 WHERE id_topic = ?
我想不出來執行此,或者任何其它各種方式可能是更快,爲什麼一個簡單的方法。
有沒有寫這個查詢的方法,甚至更快,或者我可以添加到字段以幫助速度的索引?
謝謝。
嗨,謝謝。我不認爲它可以做得更快,但我認爲可能應用像LIMIT = 1(即使只有一個id_topic)可能會提高速度,如果內部使得它是「WHERE」子句花費更少的時間。 另外,您提到的索引讓我看看索引,並且有8個索引,有些重複,並且沒有任何id_topic字段!所以謝謝你爲我發掘這個問題! :) –
@ i-CONICA如果id_topic是一個唯一的索引(如主鍵),在哪裏添加一個限制不會有幫助。如果它不是獨一無二的,我會困惑你如何單獨看待它。 – Ray
是的,這是主鍵,再次感謝。 –