# SQL CHAR 跟 VARCHAR ###### tags: `SQL` 在新建table的時候我們會需要先註明各個column的資料型態,其中CHAR 跟 VARCHAR都是屬於字串類型的資料。 但既然都是指字串,那麼還需要分兩種嗎?其實他們彼此間有微妙的差異。 ### 差別1:資料存放方式 如果要存一筆叫做Teemo的資料,使用 CHAR(10): 系統使用10格空間,Teemo用5格空間,其他5格會被存空字。 VARCHAR(10): 系統使用6格空間,Teemo使用5格空間,另外多留一格當作pointer。 也就是說,VARCHAR長度是可以變動的,反之CHAR則是固定。 ### 差別2:資料調動效率 由於CHAR是固定長度的關係,在抓取Data base 資料時,不需要再額外判斷字串長度;反之VARCHAR則需要多花時間去解析資料長度與位置,也因此在調度CHAR上會比較快些。 以目前硬碟空間成本持續下降的情況下,我們在設計資料儲存型態時,或許可考率多買些空間,以提升效率為優先考量,增加產品的市場競爭力。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up