CHAR存儲爲固定長度字符串,VARCHAR存儲爲可變長度字符串。我可以使用VARCHAR來存儲固定長度的字符串,但爲什麼人們仍然想使用CHAR來存儲固定長度的字符串?在VARCHAR上使用CHAR有什麼好處嗎?如果沒有任何好處,爲什麼mySQL數據庫不會刪除CHAR選項?使用CHAR over VARCHAR的好處是什麼?
5
A
回答
5
- VARCHAR
VARCHAR存儲可變長度的字符串。它可以比固定長度類型需要更少的存儲空間,因爲它只需要儘可能多的空間。
varchar還使用1或2個額外的字節來記錄值的長度。例如varchar(10)將使用多達11個字節的存儲空間。 varchar幫助性能,因爲它節省了空間。然而,因爲行的長度是可變的,所以當你更新它們時它們可以增長,這會導致額外的工作。如果行的增長和在原來的位置不再適合,該行爲是存儲引擎依賴...
- CHAR
焦炭是固定長度的,mysql的總是指定分配足夠的空間字符數。當存儲CHAR值時,MySQL將刪除任何尾隨空格。根據需要使用空格填充值以進行比較。
如果要存儲非常短的字符串,或者如果所有值都接近 的長度相同,字符很有用。例如,對於用戶密碼爲 的MD5值,CHAR是一個不錯的選擇,它們的長度始終相同。
對於頻繁更改的數據,char也比VARCHAR更好,因爲固定長度的行不容易出現碎片。
相關問題
- 1. 在SQL Server中使用sql_variant over varchar有什麼好處嗎?
- 2. 什麼是SQL Server中的char/varchar?
- 3. 存儲數據時,什麼並不總是使用nvarchar over varchar?
- 4. MySQL將varchar轉換爲char是什麼?
- 5. 在可訪問性方面使用%over em有什麼好處?
- 6. Android:使用@id over @ + id表現明智有什麼好處嗎?
- 7. 在PHP中使用[] over array()的好處
- 8. 使用Zend_Config類的好處是什麼?
- 9. 使用Flex的好處是什麼?
- 10. 使用taglib的好處是什麼?
- 11. 使用varchar代替文本數據類型有什麼好處?
- 12. BLOB over varchar?
- 13. Sass over Stylus的好處
- 14. 什麼是PowerShell的好處?
- 15. Struts的好處是什麼
- 16. 什麼是CIDR的好處?
- 17. 什麼是TrafficStats的好處?
- 18. 使用旁遮普的好處究竟是什麼
- 19. Java InitialDirContext()的用途/好處是什麼?
- 20. CockroachDB中TEXT,CHAR和VARCHAR的區別是什麼?
- 21. 爲什麼要使用VARCHAR姓名和CHAR口令
- 22. 什麼是char *?
- 23. 什麼是NSZone?使用initWithZone有什麼好處:?
- 24. 什麼是VARCHAR(255)
- 25. 使用Rails處理圖像的好處是什麼?
- 26. varchar的後果是什麼?
- 27. MySQL:爲什麼使用VARCHAR(20)而不是VARCHAR(255)?
- 28. 使用VARCHAR(max),NVARCHAR(max)和VARBINARY(max)代替TEXT,NTEXT和IMAGE有什麼好處?
- 29. 什麼是收益?什麼是在asp.net中使用收益的好處?
- 30. 類型推斷的好處是什麼?
http://stackoverflow.com/questions/59667/why-would-i-ever-pick-char-over-varchar-in-sql –
http://stackoverflow.com/questions/350195/char-vs -varchar-for-performance-in-stock-database –
ops,抱歉有重複的問題。得到了答案。感謝您的鏈接。 – zac1987