天天看點

mysql選擇合适的資料類型

1.char和varchar

       都是用來存儲字元串的,但它們儲存和檢索的方式不同,char是固定長度的字元類型,而varchar屬于可變長度的字元類型.

mysql選擇合适的資料類型

        由于char是固定長度的,是以它的處理速度比varchar快得多,但是其缺點是浪費存儲空間,程式需要對行尾空格進行處理,是以對那些長度變化不大并且對查詢速度有較高要求的資料可以考慮使用char類型存儲.

        在mysql中,MyISAM存儲引擎建議使用char.在innoDB存儲引擎中,建議使用varchar,對于innoDB資料表,内部的行存儲格式沒有區分固定長度和可變長度列(所有資料行都使用指向資料列值的頭指針),是以在本質上,使用固定長度的char不一定比使用可變長度的varchar列性能要好.是以,主要的性能因素是資料行使用的存儲總量.由于char平均占用的空間多于varchar,是以使用varchar來最小化需要處理的資料行的存儲總量和磁盤I/O是比較好的.

2.text與blob

        一般在儲存少量字元串的時候,我們會選擇char或者varchar,而在儲存較大文本時,通常會選擇text或者blob,二者之間的主要差别是blob能用來儲存二進制資料,比如照片,而text隻能儲存字元資料,比如一篇文章或者日記.blob和text會引起一些性能問題,特别是執行了大量的删除操作時,删除操作會在資料表中留下很大的"空洞",為了提高性能,建議定期使用   OPTIMIZE  TABLE 功能對這類表進行碎片整理,避免因為"空洞"導緻性能問題.

3.浮點數(float,double)和定點數(decimal)

        對精度要求較高的應用中,建議使用定點數來存儲數值,以保證結果的準确性.

4.日期類型可以根據實際需要選擇能夠滿足應用的最小存儲的日期類型.

繼續閱讀