日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL 數據類型選擇原則

瀏覽:156日期:2023-10-02 14:01:25
目錄小而美簡單至上避免空值選擇數據類型的步驟數據類型介紹一、串數據類型二、數值數據類型三、日期和時間數據類型四、二進制數據類型結語:小而美

通常來說,盡可能使用占用存儲空間小的數據類型來存儲數據。這類數據類型通常也會更快,并且占用的磁盤空間、內存乃至緩存都更小,而且占用的 CPU 處理周期也少。

但是,務必準確估計要存儲的數據值的范圍。因為在數據表結構的多個地方擴充數據范圍會是一個痛苦且耗時的過程。如果在猶豫哪種數據類型合適,那就選擇你認為不會超出范圍的最小空間的類型(在系統早期或者數據表 數據不多的情況下也可以進行調整)。

簡單至上

數據類型越簡單意味著處理數據的 CPU 周期越少。例如,整型相比字符型而言,處理起來更容易,這是因為字符集和比對使得字符的比較更復雜。舉兩個例子:應該使用 MySQL 內置的類型來存儲時間和日期,而不是字符串。IP 地址也應該使用整型存儲。

避免空值

很多數據表都是要可為空的列,雖然在應用中并不需要存儲缺省值NULL。通常來說,指定列為 NOT NULL 會比存儲 NULL 要更優。

MySQL 對于涉及到可為空的列優化起來更為困難,這是因為空值列使得索引、索引統計和值比較都變得復雜。而且,可為空的列占據的存儲空間更大,且需要特殊的處理。如果在可為空的列上指定了索引,這會需要每個索引入口多一個額外的字節,甚至會導致 MyISAM 引擎固定大小的索引轉換為可變大小的索引(例如對整數型字段做單列索引)。 不過,將 NULL 列轉換為 NOT NULL列的性能改進通常并不大。因此,除非已經發現了 NULL 列對性能有很大的影響,否則不要優先去對已有的數據表結構進行改動。但是,如果需要對列構建索引,那應該盡量避免該列值可以為空,通常好的習慣是直接設置該列為 NOT NULL。

當然,也有例外,例如在 InnoDB 中僅僅使用了一個 bit 來存儲 NULL 值,因此對大量數據存儲來說可以有效節省空間,但是如果是 MyISAM 引擎就不是這樣了。

選擇數據類型的步驟

選擇數據類型的第一步是決定數據列使用哪種常用的數據類型來表示,是數值型、字符串型還是時間類型。通常直接選擇就挺不錯的,但是在某些情況下會有特殊(比如金額、時間戳)。

第二步就是選擇具體的類型。MySQL對于同一種數據類型會有多種存儲方式,基于數據值范圍、精度以及存儲的物理空間,而還有些數據類型有一些特殊的屬性。

例如,DATETIME 和 TIMESTAMP 都可以存儲時間和日期,都可以精確到秒。然而,TIMESTAMP 類型只需要一半的存儲空間,并且包括了時區信息,還支持自動更新。但另一方面,它存儲的時間范圍更小,它的這些特殊特性可能變成障礙。

再來看看基本數據類型。MySQL 支持數據類型的別名,例如 INTEGER,BOOL 和 NUMERIC。這些僅僅是別名,雖然看起來會讓人困惑,但是實際上對性能沒有影響。如果使用了別名數據類型創建數據表,可回憶使用 SHOW CREATE TABLE,可以看到實際上 MySQL 會轉換為基礎數據類型,而不是別名。

數據類型:定義列中可以存儲什么數據以及該數據實際怎樣存儲的基本規則。

數據類型用于以下目的:

1、允許限制可存儲在列中的數據。如:數值數據類型列只能接受數值。

2、允許在內部更有效地存儲數據。如:用比文本串更簡潔的格式存儲數值和日期時間值。

3、允許變換排序順序。如:數據都作為串處理,則1位于10前,10位于2前(串以字典順序排序,從左邊開始比較,一次一個字符);作為數值數據類型,數值才能正確排序。

數據類型介紹一、串數據類型

最常用的數據類型,存儲串,如名字、地址、電話號碼等。

兩種基本的串類型:定長串和變長串。

定長串:接受長度固定的字符串,其長度是在創建表時指定的。定長列不允許多于指定的字符數目,它們分配的存儲空間與指定的一樣多。如:CHAR。

變長串:存儲可變長度的文本。有些變長數據類型具有最大的定長,有些則是完全變長的,不管是哪種,只有指定的數據會得到保存(額外的數據不保存),如:TEXT。

PS:MySQL處理定長列遠比處理變長列快得多。且MySQL不允許對變長列(或一個列的可變部分)進行索引。

數據類型說明:

CHAR:1~255個字符的定長串。長度必須在創建時指定,否則MySQL假定為CHAR(1)。 ENUM:接受最多64K個串組成的一個預定義集合的某個串。 LONGTEXT:與TEXT相同,但最大長度為4GB。 MEDIUMTEXT:與TEXT相同,但最大長度為16 K。 SET:接受最多64個串組成的一個預定義集合的零個或多個串。 TEXT:最大長度為64 K的變長文本。 TINYTEXT:與TEXT相同,但最大長度為255字節。 VARCHAR:長度可變,最多不超過255字節。如創建時指定為VARCHAR(n),則可存儲0到n個字符的變長串(其中n≤255)。

PS:

1、引號:使用何種形式的串數據類型,串值都必須括在引號內(通常使用單引號)。

2、須遵守的基本規則:如果數值是計算(求和、平均等)中使用的數值,則存儲在數值數據類型列中。如果數值作為字符串使用,則保存在串數據類型列中。如:在數值字段中存儲郵政編碼01234,保存的是數值1234,丟失了一位數字。

二、數值數據類型

存儲數值。MySQL支持多種數值數據類型,每種存儲的數值具有不同的取值范圍。

支持的取值范圍越大,所需存儲空間越多。此外,有的數值數據類型支持使用十進制小數點(和小數),而有的則只支持整數。表D-2列出了常用的MySQL數值數據類型。

PS:

1、所有數值數據類型(除BIT和BOOLEAN外)都可以有符號或無符號。有符號數值列可以存儲正或負的數值,無符號數值列只能存儲正數。

2、默認情況為有符號,若不需要存儲負值,可以使用UNSIGNED,這樣做將允許你存儲兩倍大小的值。

3、與串不同,數值不應該在引號內。

4、MySQL中沒有專門存儲貨幣的數據類型,一般情況下使用DECIMAL(8, 2)。

數據類型說明:

BIT:位字段,1~64位。在MySQL 5之前,BIT在功能上等價于TINYINT。 BIGINT:整數值,支持-9223372036854775808~9223372036854775807。如果是UNSIGNED,為0~18446744073709551615的數。 BOOLEAN(或BOOL):布爾標志,為0或者為1,主要用于開/關(on/off)標志。 DECIMAL(或DEC):精度可變的浮點值。 DOUBLE:雙精度浮點值 FLOAT:單精度浮點值 INT(或INTEGER):整數值,支持-2147483648~2147483647,UNSIGNED同上。 MEDIUMINT:整數值,支持-8388608~8388607,UNSIGNED同上。 REAL:4字節的浮點值。 SMALLINT:整數值,支持-32768~32767,UNSIGNED同上。 TINYINT:整數值,支持-128~127,UNSIGNED同上。三、日期和時間數據類型

數據類型說明:

DATE:表示1000-01-01~9999-12-31的日期,格式為YYYY-MM-DD。 DATETIME:DATE和TIME的組合。 TIMESTAMP:功能和DATETIME相同,但范圍較小。 TIME:格式為HH:MM:SS。 YEAR:2位數字表示,范圍是70~69(1970~2069);4位數字表示,范圍是1901~2155四、二進制數據類型

可存儲任何數據(甚至包括二進制信息),如圖像、多媒體、字處理文檔等。

數據類型說明:

BLOB:Blob最大長度為64KB。 MEDIUMBLOB:Blob最大長度為16 MB。 LONGBLOB:Blob最大長度為4GB。 TINYBLOB:Blob最大長度為255字節。結語:

MySQL 的數據表示方式很多,建議了解常用的數據類型的存儲范圍,占據的字節數,盡可能地根據產品預估數據值范圍或長度,選擇合適的數據類型,從而在創建表一開始就注重性能。后期再來調整的代價往往超出設計之初付出的細致思考的時間成本。

以上就是MySQL 為什么要選擇合適的數據類型的詳細內容,更多關于MySQL 數據類型的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
夜夜嗨av一区二区三区网站四季av| 国产精品xxx| 麻豆成人在线观看| 国产精品一卡| 青草国产精品| 国产丝袜一区| 日本aⅴ亚洲精品中文乱码| 亚洲三级在线| 97久久超碰| 另类综合日韩欧美亚洲| 成人在线视频区| 日韩高清成人| 激情婷婷久久| 亚洲欧美激情诱惑| 色综合视频一区二区三区日韩 | 91精品福利| 欧美精品一区二区久久| 狠狠爱成人网| 首页国产欧美久久| 亚洲精一区二区三区| 欧美亚洲一区二区三区| 日本va欧美va瓶| 国产日韩欧美中文在线| 精品深夜福利视频| 日韩高清成人| 宅男噜噜噜66国产日韩在线观看| 日韩中文字幕一区二区三区| 久久一二三区| 福利在线免费视频| 日本在线高清| 日韩一区二区免费看| 国产伦久视频在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 黄色在线网站噜噜噜| 欧美国产精品| 日韩高清在线观看一区二区| 国产成人精品一区二区免费看京| 国产白浆在线免费观看| 欧美成人亚洲| 亚洲精品伊人| 国产精品久久久久久久久久白浆| 国产一区不卡| 天堂成人免费av电影一区| 国产精品日韩精品在线播放| 成人免费电影网址| 蜜桃视频免费观看一区| 麻豆一区二区99久久久久| 日韩精品首页| 日韩三级久久| 国产精品久久久久蜜臀| 视频一区欧美日韩| 国产精品最新| 国产综合激情| 91伊人久久| 天堂日韩电影| 日韩精品91亚洲二区在线观看| 精品久久久网| 一区二区日韩免费看| sm捆绑调教国产免费网站在线观看| 久久av在线| 国产一区一一区高清不卡| 国产精品普通话对白| 久久麻豆视频| 高清日韩中文字幕| 中国女人久久久| 国产精品一区二区三区www| 国产黄大片在线观看| 国产精品v日韩精品v欧美精品网站| 欧美日韩 国产精品| 久久精品资源| 亚洲精品一区二区在线看| 青青国产精品| 欧美激情视频一区二区三区在线播放| 亚洲啊v在线免费视频| 精品国产第一福利网站| 亚洲综合小说| 久久久久一区| 国产精品亚洲欧美日韩一区在线| 欧美特黄视频| 中文字幕高清在线播放| 91精品国产自产精品男人的天堂| 高清av不卡| 国产精品传媒麻豆hd| 亚洲永久字幕| 久久蜜桃精品| 免费观看亚洲天堂| 一区二区不卡| 亚州av乱码久久精品蜜桃| 精品日产乱码久久久久久仙踪林| 亚洲精品欧美| 日韩视频一区| 99国产精品一区二区| 精品久久免费| 国产精选久久| 日本成人在线一区| 模特精品在线| 久久中文字幕二区| 日韩久久一区二区三区| 久久精品三级| 国产精品第一| 国产欧美日韩综合一区在线播放| 亚洲深夜福利在线观看| 黄色成人精品网站| 在线日韩中文| 三级精品视频| 中文字幕一区久| 国产一区二区三区不卡视频网站 | 日韩精品中文字幕一区二区| 欧美国产91| 日韩在线免费| 精品亚洲美女网站| 亚洲黄色中文字幕| 高清日韩欧美| 久草免费在线视频| 国产精品高颜值在线观看| 荡女精品导航| 水蜜桃久久夜色精品一区| 国产一区二区三区日韩精品| 久久免费精品| 久久久久久亚洲精品美女| 免费亚洲一区| 精品中文在线| 红杏一区二区三区| 麻豆国产91在线播放| 国产亚洲精aa在线看| 国产乱码精品一区二区三区亚洲人 | 神马午夜久久| 在线人成日本视频| 亚洲黄色中文字幕| 久久久777| 国产国产精品| 亚洲一区激情| 老鸭窝毛片一区二区三区| 香蕉成人久久| 亚洲2区在线| 欧美性www| 国产美女亚洲精品7777| 国产福利资源一区| 精品国产网站| 欧美精选视频一区二区| 欧美一区二区三区激情视频| av不卡在线| 日本中文字幕不卡| 国产精品毛片视频| 精品高清久久| 欧美日韩在线二区| 老司机精品久久| 欧美在线看片| 精品久久美女| 欧美一区二区性| 伊人精品久久| 欧美亚洲一级| 不卡福利视频| 日韩午夜高潮| 日本成人中文字幕| 国产一区二区三区四区| 国产主播一区| 亚洲区国产区| 免费一区二区三区在线视频| 日韩精品电影| 美女国产精品| 国产精品99久久免费| 最新中文字幕在线播放| 99精品99| 国产日韩欧美一区二区三区 | 日本欧美在线看| 日本a级不卡| 成人高清一区| 午夜免费一区| 欧美啪啪一区| se01亚洲视频| 亚洲日本久久| 色乱码一区二区三区网站| 99综合视频| 久久av日韩| 日韩成人高清| 婷婷五月色综合香五月| 97国产成人高清在线观看| 国产亚洲激情| 精品伊人久久| 亚洲综合丁香| 久久精品国产网站| 日韩午夜精品| 精品免费在线| 一区二区精品| 日韩在线高清| 日韩欧美美女在线观看| 亚洲美女久久精品| 五月亚洲婷婷| 亚洲高清毛片| 国产日韩免费| 国产精品日本| 日本欧美国产| 日本不卡高清视频| 激情欧美一区| 久久久免费人体| 亚洲免费福利一区| 久久亚洲国产| 精品久久久网| 亚洲日产国产精品|