这几个一直在用,傻傻分不清。昨天抽空学习,记录一下加深记忆。
分析
1、char、varchar 是存ANSI字符->1字符占1个字节,
n- 是中文解决方案,存Unicode->1字符占两个字节
- 所以后者存英文亏一半空间,前者存中文乱码(英文版SQL)
2、char、nchar空格补位固定长度,读取快但占空间。
3、varchar、nvarchar 自由长度,省空间,但检索费时间
总结:
- 账户这种 不会太长、但可能中文 -nchar合适
- 密码这种 长度相近、但非中文的 -char合适
- 头像路径 这种可空、可能非常长 -varchar合适
- 个人简介 可能是中文、长度不定 -nvarchar合适
参考资料: