我正在通過編寫自己的博客,使用PHP和MySQL數據庫後端來學習以網絡爲中心的編程。這應該取代我目前的(基於Drupal的)博客。在數據庫或文件中存儲帖子主體?
我已經決定,post
應該包含一些數據:id
,userID
,title
,content
,time-posted
。這爲數據庫表提供了一個很好的模式。不過,我在決定如何組織存儲content
時遇到問題。
我既可以:
- 使用基於文件系統。數據庫表
content
然後將成爲本地文件的URL,然後我將讀取,格式化和顯示。 - 將帖子的全部內容存儲在
content
中,即將其放入數據庫中。
如果我去了(1),搜索帖子的內容會有點問題 - 我只限於元數據搜索,或者當搜索時我必須讀取每個文件的內容(儘管我不知道會有多少問題 - grep -ir "string" .
也不是太慢......)。然而,圖片(如果有的話)會被一個URL引用,所以引用content
至少是一個內部一致的方法,我會很容易能夠重用內容,因爲文本文件很容易處理,與SQL數據庫文件相比較。 (2),但我可以使用longtext
。然後,在我試圖將它放入元組之前,需要對其進行消毒,而且我受限於尺寸(儘管我不太可能寫4GB的博客文章;)。搜索很容易。
我不(目前)看到哪種方式會(a)更容易實現,(b)更容易與之共存。
我應該走哪條路/這通常如何完成?讚賞(1)或(2)的任何進一步優點/缺點將不勝感激。
索引等將是一個問題,也是如果你有一個數據庫,你可以將數據存儲在多個表中,並將它們與外鍵等關聯起來。 – dee 2012-03-07 19:10:29