schema與數據類型優化

1、選擇優化的數據類型

整數類型,實數類型(帶有小數部分的數字),字符串類型,日期和時間類型,位數據類型

1.1、varchar和char

char類型是定長的,會根據定義的字符串分配定長的空間,多餘的空間用空格去填充。適合存儲短字符串和經常需要變更的字符串。存儲數據會把字符串末尾帶有的空格去掉,檢索時字符串就丟掉了末尾的空格。

varchar類型是可變長的,只分配實際需要的存儲空間,節省存儲空間。另外需要一兩個額外的字節去存儲字符串的長度。適合存儲更新少,列的最大長度 遠大於平均長度的字符串。

 

2、範式和反範式

2.1、三大範式

第一範式:確保每列數據的原子性,即表中所有字段都是不可分解的原子值。

                 第一範式的遵循需要根據實際需求來定,如對於地址這個字段,需要經常訪問地址中的城市部分,那麼就需要

                  把地址拆分成具有城市字段等部分進行存儲。

第二範式:確保表中的每列都和主鍵相關,而不是隻與主鍵的一部分相關

第三範式:確保每列都喝主鍵列直接相關,而不是間接相關。

範式的優點和缺點

優點:減少冗餘數據,減少內存的使用,更新操作更快。

缺點:查詢的時候需要關聯

反範式化:把所有數據都放在一張表中,表中會有大量冗餘數據。適當增加冗餘字段能夠加快查詢速度。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章