我有一個大的包含數據庫的話和他們的變形形式,如:「壓縮」雙字(不定式和拐點)
BASIC_FORM ##### INFLECED_FORM
talk ----- talk
talk ----- talking
talk ----- talked
talk ----- talks
paragraph ----- paragraph
paragraph ----- paragraphs
...
這個數據庫需要大量的課程的磁盤空間,如只要它有一百萬或更多的條目。
什麼是「壓縮」這組數據的最佳方法,即減少所需的磁盤空間量,同時不會丟失任何信息?
我的第一個想法是創建一個額外的列,其中包含可以從基本表單開始複製的字符數。然後你只需要保存詞尾變化的形式是不同的,例如部分:
BASIC_FORM ##### NUM_EQUAL ##### INFLECED_FORM
talk ----- 4 -----
talk ----- 4 ----- ing
talk ----- 4 ----- ed
talk ----- 4 ----- s
try ----- 3 -----
try ----- 2 ----- ied
paragraph ----- 9 -----
paragraph ----- 9 ----- s
...
這應該節省磁盤空間量爲「NUM_EQUAL」在MySQL中可保存爲TINYINT(例如),所以它需要只有1個字節,並且在字符串「INFLECTED_FORM」中通常會保存超過1個字符(即多於1個字節)。
您是否有其他建議來節省磁盤空間?
是的。 http://en.wikipedia.org/wiki/Database_normalization – 2012-02-21 23:09:04
如果他選擇堅持數據庫。 – 2012-02-21 23:11:31