我正在使用MS SQL Server 2005.高性能wiki架構
Wiki-like系統的最佳模式是什麼?其中用戶編輯/修改提交,系統跟蹤這些提交。
可以說我們正在做一個簡單的基於wiki的系統。將跟蹤每個修訂版加上每個修訂版的視圖和最新活動。在其他屏幕中,系統將列出「最新提交內容」和「最受關注」,再加上標題搜索。
我目前的模式(我知道它的不好)正在使用一個表。當我需要查看「最新提交內容」時,我按「最新活動」進行排序,按「DocumentTitle」進行分組,然後取第N條記錄。我假設很多分組(特別是在nvarchar上分組)是壞消息。對於列表最多的觀看,我也做同樣的事情:按照視圖排序,按名稱分組,取第N個記錄。大多數時候,我也會做一個「WHERE DocumentName LIKE'%QUERY-HERE%'」。
我現在的模式是 「第1版」,見下圖: alt text http://www.anaimi.com/junk/schemaquestion.png
我認爲這是不能接受的。所以我試圖想出另一個/更高性能的設計。版本2如何響應你?在版本二中,我獲得了在WikiHeadId上分組的優勢,這是一個數字 - 我假設分組數量比nvarchar更好。
或者是3版本,在那裏我會做沒有分組,但有幾個缺點,如複製值,維持這些代碼值等
或者有更好的/知模式的極端情況對於這樣的系統?
謝謝。
(從ServerFault感動 - 我認爲這是一個發展的問題不是一個IT問題,更多)
謝謝。在版本1中,我忘記了「版本」屬性。但無論如何,我已將其重新實現爲使用第2版。 – ANaimi 2009-07-16 10:09:29