在交通非常繁忙的LAMP服務器上,我使用內存表來跟蹤多個數據項作爲計數器。它的實現是這樣的:Php - 優化多個計數器增量
$query = "INSERT INTO daily_info_mem SET di_num=1 ,di_type=9, di_date = current_date(), di_sid= $sid_int ,di_name='user_counter' ON DUPLICATE KEY UPDATE di_num=di_num+1";
索引設置獨特di_type和日期,因此,如果存在對於這個日期計數器然後di_type它被遞增,如果不是爲了此日期和數據類型的行與0值創建。
對於每個頁面視圖有幾個這樣的查詢。這意味着幾個MySQL調用。
是否可以優化該儘可能地爲一個MySQL的通話將更新幾個任意櫃檯,仍然保持如果需要創建行或增加淡水河谷如果它存在的想法?
爲什麼不使用自動增量這樣的東西來處理你的櫃檯? – 2009-09-08 09:53:45
如果我是正確的,自動增量用於行級索引值。我正在增加一個字段,而不是行數 – Nir 2009-09-08 09:59:04
你是指同一行內的「counter」字段嗎?像ON DUPLICATE KEY UPDATE di_num = di_num + 1,c2 = c2 + 99,c3 = c3 + 47? – VolkerK 2009-09-08 10:11:46