本文主要是介绍【HBZ分享】MYSLQ保存MD5值应该用varchar还是char?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
结论
- 使用char是最好的,因为MD5是固定长度,而char也正是保存固定长度类型。
为什么固定长度用char保存更好?
- 首先char是固定长度的,比如char(10)保存10个字符,那么当保存abc这3个字符时,char依然会占用10个字符空间,剩下7个是空字符。而varchar(10)就只会占用3个字符。
- char是固定长度,varchar是可变长度,即varchar具体长度要根据实际存储的内容而定
- 无论是char还是varchar都会格外占一个字符为去保存数据的长度,当数据<255时,保存长度占1个字符,当 > 255时,则要使用2个字符空间保存数据长度
- 从性能角度看:当更新内容时,由于char是固定长度,所以无需计算数据长度,性能更高。 而varchar需要重新计算数据长度,然后会更新记录的长度,所以性能不如char
- 从空间角度看:char不管存的数据长度是多少,他都是固定的,哪怕存个abc到char(10), 不足10个字符,则也会用空字符占位凑到10个字符。而varchar他只会占用3个字符。因此从空间角度,varchar通常更节省空间,但他需要牺牲时间去计算数据长度。
这篇关于【HBZ分享】MYSLQ保存MD5值应该用varchar还是char?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!