最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中字段類型char、varchar和text的區(qū)別

 更新時間:2019年03月15日 14:20:35   作者:CODETC  
今天小編就為大家分享一篇關于MySQL中字段類型char、varchar和text的區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

在MySQL中,char、varchar和text類型的字段都可以用來存儲字符類型的數(shù)據(jù),char、varchar都可以指定最大的字符長度,但text不可以。

它們的存儲方式和數(shù)據(jù)的檢索方式也都不一樣。

數(shù)據(jù)的檢索效率是:char > varchar > text

具體說明:

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

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

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

關于存儲空間:

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

  • 基本拉丁字母、數(shù)字和標點符號使用一個字節(jié);
  • 大多數(shù)的歐洲和中東手寫字母適合兩個字節(jié)序列:擴展的拉丁字母(包括發(fā)音符號、長音符號、重音符號、低音符號和其它音符)、西里爾字母、希臘語、亞美尼亞語、希伯來語、阿拉伯語、敘利亞語和其它語言;
  • 韓語、中文和日本象形文字使用三個字節(jié)序列。

結論:

1、經(jīng)常變化的字段用varchar;

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

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

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

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

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

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接

相關文章

  • mysql性能監(jiān)控工具Innotop簡介及配置

    mysql性能監(jiān)控工具Innotop簡介及配置

    INNOTOP是一個通過文本模式顯示MySQL和InnoDB的監(jiān)測工具。INNOTOP是用PERL語言寫成的,這使它能更加靈活的使用在各種操作平臺之上,它能詳細的的監(jiān)控出當前MYSQL和INNODB運行的狀態(tài),以DBA根據(jù)結果,可以合理的優(yōu)化MYSQL,讓MYSQL更穩(wěn)定更高效的運行。
    2014-08-08
  • SQL中日期與字符串互相轉換操作實例

    SQL中日期與字符串互相轉換操作實例

    我們經(jīng)常出于某種目的需要使用各種各樣的日期格式,當然我們可以使用字符串操作來構造各種日期格式,下面這篇文章主要給大家介紹了關于SQL中日期與字符串互相轉換操作的相關資料,需要的朋友可以參考下
    2022-10-10
  • Window下Mysql忘記root密碼怎么重置

    Window下Mysql忘記root密碼怎么重置

    這篇文章主要介紹了Window下Mysql忘記root密碼的重置方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • MySQL生成連續(xù)的數(shù)字/字符/時間序列的方法

    MySQL生成連續(xù)的數(shù)字/字符/時間序列的方法

    有時候為了生成測試數(shù)據(jù),或者填充查詢結果中的數(shù)據(jù)間隔,需要使用到一個連續(xù)的數(shù)據(jù)序列值,所以,今天我們就來介紹一下如何在 MySQL 中生成連續(xù)的數(shù)字、字符以及時間序列值,需要的朋友可以參考下
    2024-04-04
  • Mysql避免重復插入數(shù)據(jù)的4種方式

    Mysql避免重復插入數(shù)據(jù)的4種方式

    這篇文章主要介紹了Mysql避免重復插入數(shù)據(jù)的4種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 使用cmd操作MySQL全過程

    使用cmd操作MySQL全過程

    文章是關于如何在Windows系統(tǒng)上安裝和配置MySQL數(shù)據(jù)庫的指南,首先介紹了如何設置環(huán)境變量以便在命令行中使用MySQL,然后說明了如何使用管理員權限啟動MySQL服務和登錄數(shù)據(jù)庫,最后提到了如何使用SQL命令操作數(shù)據(jù)庫
    2025-10-10
  • MySQL中or用法及mybatis or用法詳解

    MySQL中or用法及mybatis or用法詳解

    在SQL查詢語句中,OR關鍵字用于連接兩個或多個條件,表示滿足其中一個條件即可,當使用OR時,如果第一個條件為真,則不會檢查第二個條件;如果第一個條件為假,則會檢查第二個條件,這篇文章主要介紹了MySQL中or用法及mybatis or用法總結,需要的朋友可以參考下
    2024-05-05
  • 如何用Navicat操作MySQL

    如何用Navicat操作MySQL

    這篇文章主要介紹了如何用Navicat操作MySQL,幫助大家使用可視化工具來連接 MySQL,感興趣的朋友可以了解下
    2021-05-05
  • RHEL6.5編譯安裝MySQL5.6.26教程

    RHEL6.5編譯安裝MySQL5.6.26教程

    這篇文章主要介紹了RHEL6.5編譯安裝MySQL5.6.26教程的相關資料,需要的朋友可以參考下
    2015-10-10
  • MySQL 分組查詢和聚合函數(shù)

    MySQL 分組查詢和聚合函數(shù)

    這篇文章主要介紹了MySQL 分組查詢和聚合函數(shù)的相關資料,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-11-11

最新評論

盈江县| 垦利县| 长泰县| 涪陵区| 寿阳县| 阿克陶县| 芜湖县| 曲松县| 南漳县| 沭阳县| 禹州市| 城步| 海阳市| 万州区| 康定县| 无锡市| 邛崃市| 常州市| 丹棱县| 无棣县| 肇源县| 龙胜| 高平市| 改则县| 视频| 滨州市| 抚州市| 密云县| 和林格尔县| 峨山| 新绛县| 鹿泉市| 扶绥县| 民乐县| 曲沃县| 大邑县| 仁化县| 达尔| 固安县| 普兰店市| 南城县|