激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 深入char、varchar、text和nchar、nvarchar、ntext的區別詳解

深入char、varchar、text和nchar、nvarchar、ntext的區別詳解

2019-12-26 15:14MYSQL教程網 Mysql

本篇文章是對char、varchar、text和nchar、nvarchar、ntext的區別進行了詳細的分析介紹,需要的朋友參考下

很多開發者進行數據庫設計的時候往往并沒有太多的考慮charvarchar類型,有的是根本就沒注意,因為存儲價格變得越來越便宜了,忘記了最開始的一些基本設計理論和原則,這點讓我想到了現在的年輕人,大手一揮一把人民幣就從他手里溜走了,其實我想不管是做人也好,做開發也好,細節的把握直接決定很多東西。當然還有一部分人是根本就沒弄清楚他們的區別,也就隨便選一個。在這里我想對他們做個簡單的分析,當然如果有不對的地方希望大家指教。

1、CHAR。CHAR存儲定長數據很方便,CHAR字段上的索引效率級高,比如定義char(10),那么不論你存儲的數據是否達到了10個字節,都要占去10個字節的空間,不足的自動用空格填充,所以在讀取的時候可能要多次用到trim()。

2、VARCHAR。存儲變長數據,但存儲效率沒有CHAR高。如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什么“+1”呢?這一個字節用于保存實際使用了多大的長度。從空間上考慮,用varchar合適;從效率上考慮,用char合適,關鍵是根據實際情況找到權衡點。

3、TEXT。text存儲可變長度的非Unicode數據,最大長度為2^31-1(2,147,483,647)個字符。

4、NCHAR、NVARCHAR、NTEXT。這三種從名字上看比前面三種多了個“N”。它表示存儲的是Unicode數據類型的字符。我們知道字符中,英文字符只需要一個字節存儲就足夠了,但漢字眾多,需要兩個字節存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。ncharnvarchar的長度是在1到4000之間。和char、varchar比較起來,nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字。可以看出使用nchar、nvarchar數據類型時不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數量上有些損失。

所以一般來說,如果含有中文字符,用nchar/nvarchar,如果純英文和數字,用char/varchar 
我把他們的區別概括成:
CHAR,NCHAR 定長,速度快,占空間大,需處理
VARCHAR,NVARCHAR,TEXT 不定長,空間小,速度慢,無需處理
NCHAR、NVARCHAR、NTEXT處理Unicode碼

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美在线一级 | 免费国产在线观看 | 91精品最新国内在线播放 | 美女扒开腿让男生桶爽网站 | 激情夜色 | 日韩精品免费一区二区三区 | 欧美性生活久久久 | 神秘电影91 | 粉嫩蜜桃麻豆免费大片 | 国产精品久久久久久久久久三级 | 欧美一级电影在线观看 | 在线亚洲欧美日韩 | 亚洲二区三区在线 | 黄 色 免费网 站 成 人 | 毛片中文字幕 | 成年性羞羞视频免费观看 | 久久久麻豆 | 午夜爱爱福利 | 成人免费毛片一 | 国产91免费看 | 精品成人av一区二区在线播放 | 孕妇体内谢精满日本电影 | 亚洲一区二区 | 久久精品国产99久久6动漫亮点 | 欧美成人鲁丝片在线观看 | 深夜福利视频免费观看 | 久久久久久久.comav | 中文字幕国产欧美 | 免费一级欧美在线观看视频 | 久久蜜桃香蕉精品一区二区三区 | 国产一级aaa全黄毛片 | 国产精品久久久久久久四虎电影 | h色视频在线观看 | 娇妻被各种姿势c到高潮小说 | 成人午夜视频免费看 | 久久我不卡 | 欧美一级做一级爱a做片性 久久久资源网 | 精品久久久久久久久久中文字幕 | 国产精品久久久久av | av手机在线电影 | 二区三区四区 |