MYSQL 資料類型

來源:互聯網
上載者:User

標籤:mysql   資料庫   效率   最優   

MySQL資料庫的資料類型非常多,選擇正確的資料類型對於獲得高效能至關重要。資料的儲存和儲存引擎有關,不同的儲存引擎儲存相同類型的資料時可能方式不一樣。

一般把握以下幾點:

  1. 更小的通常更好

    1. 一般情況下,應該儘可能使用正確儲存資料的最小資料類型。更小的資料類型通常更快。

  2. 簡單就好

    1. 簡單的資料類型的操作通常需要更少的CPU周期。

  3. 盡量避免使用null,通常情況下最好指定列為NOT NULL。

    1. 可為null的列使得索引、索引統計和值比較都更複雜。

    2. 可為null的列會使用更多的儲存空間,在MySQL裡面做特殊處理。

資料類型分析

  1. 整數


    • MySQL提供了幾種整數類型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。分別使用8、16、24、32、64位儲存空間。

    • 整數類型有可選的UNSIGNED屬性,表示不允許負值(這樣可以擴大正數的範圍)。

    • 對於儲存和計算來說INT(11) 和INT(20)是相同的,只是規定了MySQL的一些互動工具用來顯示的字元的個數。

  1. 實數

  • MySQL提供了幾種實數類型:FLOAT、DOUBLE、DECIMAL。FLOAT、DOUBLE分別使用32、64位儲存空間。DECIMAL在MySQL 5.0和更高版本中允許最多65個數字。

  • DECIMAL可以存放比BIGINT更大的數字,一般盡量在對小鼠進行精確運算時才使用。

字串類型
  • MySQL提供了幾種字串類型:VARCHAR、CHAR。VARCHAR用來儲存可變長度的字串。

  • VARCHAR比定長字串更節省空間的,因為它僅使用必要的空間,所以對效能也有協助。但在update時需要比原來更長,這就導致額外的工作。

  • VARCHAR最適合字串列的最大長度比平均長度大很多,列的更新很少。

  • CHAR類型是定長的。MySQL在哪個是根據定義的字串長度分配足夠的空間。

  • 儲存char值是,MySQL會刪除所有的末尾空格。

  • char適合存放很短的字串,所有的長度都接近一個長度的資料,如MD5值。

  • 慷慨是不明智的。VARCHAR(5)和VARCHAR(200)儲存‘hello’的空間開銷是一樣的。但是更長的列會消耗更多的記憶體

BOLB和TEXT類型
  • BOLB和TEXT都是為存放大資料而設計的字串資料型別。分別採用二進位和字元方式儲存。

  • 字元類型是:TINYTEXT、SMALLTEXT、TEXT、MEDIUMTEXT、LONGTEXT,對應的二進位類型是:TINYBLOB、SMALLBLOB、BLOB、MEDIUMBLOB、LONGBLOB。BLOB是SMALLBLOB的同義字、TEXT是SMALLTEXT的同義字。

使用枚舉代替字串類型
  • 有時候可以用枚舉列代替常用的字串類型。沒劇烈可以把一些不重複字串儲存成一個預定義的集合。

日期和時間類型
  • DATETIME存放的時ANSI標準定義的日期和時間表示方法,精確到秒。

  • TIMSTAMP儲存了從1970年1月1日午夜以來的秒數,它和UNIX時間戳記相同。

  • 除了特殊行為之外,通常也應該盡量使用TIMESTAMP,因為它比DATETIME空間效率更高。

本文出自 “底小高大” 部落格,請務必保留此出處http://3157689.blog.51cto.com/3147689/1697394

MYSQL 資料類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.