91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中char、varchar和text三者的區別是什么

發布時間:2021-03-09 17:12:26 來源:億速云 閱讀:153 作者:Leah 欄目:MySQL數據庫

今天就跟大家聊聊有關MySQL中char、varchar和text三者的區別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

具體說明:

char:存儲定長數據很方便,CHAR字段上的索引效率級高,必須在括號里定義長度,可以有默認值,比如定義char(10),那么不論你存儲的數據是否達到了10個字節,都要占去10個字節的空間(自動用空格填充),且在檢索的時候后面的空格會隱藏掉,所以檢索出來的數據需要記得用什么trim之類的函數去過濾空格。

varchar:存儲變長數據,但存儲效率沒有CHAR高,必須在括號里定義長度,可以有默認值。保存數據的時候,不進行空格自動填充,而且如果數據存在空格時,當值保存和檢索時尾部的空格仍會保留。另外,varchar類型的實際長度是它的值的實際長度+1,這一個字節用于保存實際使用了多大的長度。

text:存儲可變長度的非Unicode數據,最大長度為2^31-1個字符。text列不能有默認值,存儲或檢索過程中,不存在大小寫轉換,后面如果指定長度,不會報錯誤,但是這個長度是不起作用的,意思就是你插入數據的時候,超過你指定的長度還是可以正常插入。

關于存儲空間:

在使用UTF8字符集的時候,MySQL手冊上是這樣描述的:

  • 基本拉丁字母、數字和標點符號使用一個字節;

  • 大多數的歐洲和中東手寫字母適合兩個字節序列:擴展的拉丁字母(包括發音符號、長音符號、重音符號、低音符號和其它音符)、西里爾字母、希臘語、亞美尼亞語、希伯來語、阿拉伯語、敘利亞語和其它語言;

  • 韓語、中文和日本象形文字使用三個字節序列。

結論:

1、經常變化的字段用varchar;

2、知道固定長度的用char;

3、超過255字節的只能用varchar或者text;

4、能用varchar的地方不用text;

5、能夠用數字類型的字段盡量選擇數字類型而不用字符串類型,這會降低查詢和連接的性能,并會增加存儲開銷。這是因為引擎在處理查詢和連接回逐個比較字符串中每一個字符,而對于數字型而言只需要比較一次就夠了;

6、同一張表出現多個大字段,能合并時盡量合并,不能合并時考慮分表,原因請考 優化InnoDB表BLOB,TEXT列的存儲效率

看完上述內容,你們對MySQL中char、varchar和text三者的區別是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五寨县| 江孜县| 汝城县| 巢湖市| 如东县| 水富县| 怀仁县| 资讯| 白银市| 乌兰察布市| 普陀区| 临高县| 郑州市| 屯门区| 黑河市| 新乡市| 三穗县| 乌鲁木齐县| 汝州市| 全州县| 石泉县| 新营市| 平山县| 和顺县| 吕梁市| 佛学| 中卫市| 德钦县| 桐梓县| 连州市| 益阳市| 兰西县| 千阳县| 永州市| 垣曲县| 静宁县| 九江市| 和顺县| 广水市| 丁青县| 大连市|