當前位置:文檔下載 > 所有分類 > IT/計算機 > 計算機軟件及應用 > MySQL數據庫中char與varchar性能分析
侵權投訴

MySQL數據庫中char與varchar性能分析

本文介紹了[MySQL]數據庫設計中的字符型字段的選取問題

在數據庫中,字符型的數據是最多的,可以占到整個數據庫的80%以上。為此正確處理字符型的數據,對于提高數據庫的性能有很大的作用。在字符型數據中,用的最多的就是Char與Varchar兩種類型。前面的是固定長度,而后面的是可變長度。現在我們需要考慮的是,在什么情況下使用Char字符型數據,什么情況下采用Varchar字符型數據。在這部分內容中,我就跟大家來探討一下這個話題。

一、VARCHAR與CHAR字符型數據的差異

在MySQL數據庫中,用的最多的字符型數據類型就是Varchar和Char.。這兩種數據類型雖然都是用來存放字符型數據,但是無論從結構還是從數據的保存方式來看,兩者相差很大。而且其具體的實現方式,還依賴與存儲引擎。我這里就以大家最常用的MYISAM存儲引擎為例,談談這兩種數據類型的差異。在后續建議中,也是針對這種存儲類型而言的。 這里首先需要明白的一點是,這兩種數據類型,無論采用哪一種存儲引擎,系統存儲數據的方式都是不同的。正是因為如此,我們才有必要研究兩者的不同。然后在合適的情況下,采用恰當的方式。了解這一點之后,我們再來看后續的內容。

Varchar往往用來保存可變長度的字符串。簡單的說,我們只是給其固定了一個最大值,然后系統會根據實際存儲的數據量來分配合適的存儲空間。為此相比CHAR字符數據而言,其能夠比固定長度類型占用更少的存儲空間。不過在實際工作中,由于某系特殊的原因,會在這里設置例外。如管理員可以根據需要指定ROW_FORMAT=FIXED選項。利用這個選項來創建MyISAM表的話,系統將會為每一行使用固定長度的空間。此時會造成存儲空間的損耗。通常情況下,VARCHAR數據類型能夠節約磁盤空間,為此往往認為其能夠提升數據庫的性能。不過這里需要注意的是,這往往是一把雙刃劍。其在提升性能的同時,往往也會產生一些副作用。如因為其長度是可變的,為此在數據進行更新時可能會導致一些額外的工作。如在更改前,其字符長度是10位(Varchar規定的最長字符數假設是50位)

MySQL數據庫中char與varchar性能分析

,此

第1頁

免費下載Word文檔免費下載:MySQL數據庫中char與varchar性能分析

(下載1-4頁,共4頁)

猜你喜歡

返回頂部
3d试机号每日的抉报