MYSQL數據類型

整數類型性能

  • 存儲:tinyint,smallint,mediumint,int,bigint
  • 屬性:unsigned 
  • 長度:能夠爲整數類型指定寬度,但該操做不會限制值的存儲範圍,隻影響字符顯示個數

實數類型排序

  • 存儲:float,double,decimal
  • decimal(all_length,right_length)可存儲比bigint還大的整數,能夠存儲精確小數

字符串類型ci

  • varchar,char,text,blob
  • varchar類型用於存儲可變長字符串,varchar使用1個或2個額外字節記錄字符串的長度,更節省空間,
  • varchar長度(字符),若是存儲字符超出指定長度,會被截斷
  • char是定長的(字符),根據設定長度分配存儲空間,達不到長度會用空格填充,超出長度,會被截斷
  • char適合存儲很短的字符串,或者全部值都接近同一個長度
  • 常常變動的數據,char比varchar更好,char不容易產生碎片
  • 儘可能避免使用blob/text類型,查詢會用到臨時表,致使嚴重性能開銷

枚舉 enumrem

  • 緊湊,把列表值壓縮到一個或兩個字節,節省空間
  • 內部存儲是整數
  • 避免使用數字做爲枚舉的常量
  • 排序是按照內部存儲的整數排序

日期和時間字符串

  •  timestamp比datetime空間效率高
  • 微秒能夠使用bigint

列屬性效率

auto_increment,default,not NULL,zerofilldate

相關文章
相關標籤/搜索