在使用mysql建立資料表時都會遇到乙個問題,如何為字段選擇合適的資料型別。
例如,建立一張員工表用來記錄員工的資訊,這時對員工的各種屬性如何來進行定義?也許大家會想,這個問題很簡單,每個字段可以使用很多種資料型別來定義,比如int、float、double、decimal等。其實正因為可選擇的資料型別太多,才需要依據一些原則來「挑選」最適合的資料型別。
以下將詳細介紹字元、數值、日期資料型別的一些選擇原則。
通常會選擇滿足應用的最小儲存型別來儲存,這樣不僅能夠節約儲存,更能提供表的操作效率。
char與varchar
char和varchar型別類似,都用來儲存字串,但它們儲存和檢索的方式不同。char屬於固定長度的字元型別,而varchar屬於可變長度的字元型別。
由於char是固定長度的,所以它的處理速度比varchar快得多,但是其缺點是浪費儲存空間,程式需要對行尾空格進行處理,所以對於那些長度變化不大並且對查詢速度有較高要求的資料可以考慮使用char型別來儲存。
對於字元型別,要根據儲存引擎來進行相應的選擇。
對精度要求較高的應用中,建議使用定點數來儲存數值,以保證結果的準確性。
對含有text和blob欄位的表,如果經常做刪除和修改記錄的操作要定時執行optimize table功能對錶進行碎片整理。
日期型別要根據實際需要選擇能夠滿足應用的最小儲存的日期型別。
如何選擇合適的mysql儲存引擎
在選擇儲存引擎時,應根據應用特點擊擇合適的儲存引擎,對於複雜的應用系統可以根據實際情況選擇多種儲存引擎進行組合。下面是常用儲存引擎的適用環境。myisam 預設的mysql外掛程式式儲存引擎。如果應用是以讀寫和插入操作為主,只有很少更新和刪除操作,並且對事務完整性,併發性要求不是很高,那麼選擇這個儲...
如何選擇合適的MySQL儲存引擎
mysql有多種儲存引擎 myisam innodb merge memory heap bdb berkeleydb example federated archive csv blackhole。mysql支援數個儲存引擎作為對不同表的型別的處理器。mysql儲存引擎包括處理事務安全表的引擎和處...
如何選擇合適的MySQL儲存引擎
mysql有多種儲存引擎 myisam innodb merge memory heap bdb berkeleydb example federated archive csv blackhole。mysql支援數個儲存引擎作為對不同表的型別的處理器。mysql儲存引擎包括處理事務安全表的引擎和處...