我創建了一個網站,我需要有一個用戶的活動(類似於您在計算器收件箱)存儲在SQL的過程。目前,我和我的隊友正在爭論最有效的方法來做到這一點;到目前爲止,我們已經提出了兩種備選方法來執行此操作:SQL中哪個更快:很多很多表與一個巨大的表?
- 爲每個用戶創建一個新表,並將表名稱爲theirusername_activity。然後,當我需要得到他們的活動(張貼,被評論等),我只是得到該表並查看它的行...
- 最後,我將有一個TON表
- 可能更快
- 有一個巨大的表稱爲活動,爲他們的用戶名的額外字段;當我想他們活動,我只是從表中獲取行
"...WHERE username=".$loggedInUser
- 少桌,清潔
- (假設我索引的表正確,將這個還是慢?)
任何替代的方法也將被理解的
你會瘋狂嘗試和實施(1)。 –
這就是我原先想的,我的隊友提出了一個令人信服的觀點,即2會令人難以置信地變得更慢,只要我們的用戶羣沒有進入成千上萬的應用,就不會有太多問題 – Tomas
@Damien:它禮貌地。數據庫*內置*有一排行,爲什麼你想拍攝自己的腳?你打算如何加入這個怪物? @Tomas:「令人難以置信的慢」?你們哪裏得到統計數據? 「輸入數千」?數以千計的數據庫是沒有什麼的。你意識到它會花費你*也許* 2毫秒來查詢一個具有數十或數十萬行的表,如果它正確索引? – mpen