久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

151次閱讀
沒有評論

共計 1049 個字符,預計需要花費 3 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

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

具體說明:

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 三者的區別是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1049字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 武安市| 汉沽区| 偃师市| 弥渡县| 阿尔山市| 浏阳市| 商洛市| 麻栗坡县| 新和县| 库车县| 怀集县| 涿鹿县| 安阳县| 长阳| 醴陵市| 历史| 茂名市| 察雅县| 台安县| 汶上县| 江津市| 阿勒泰市| 黎川县| 古丈县| 伊宁县| 岢岚县| 漠河县| 七台河市| 崇阳县| 九寨沟县| 西乡县| 兴海县| 滦南县| 满洲里市| 呼玛县| 叶城县| 西乡县| 杭州市| 陇南市| 孝感市| 洛南县|