写这文章之前先查了点资料,刚好找到一个关于char和varchar性能测试,如下
#############################################################################
测试分三组,每次增加插入的行数,脚本如下:
|
【IT168技术文档】
|
测试结果:
|
插入行数
|
数据类型
|
Cpu
|
duration
|
|
50000
|
varchar
|
2359
|
21203
|
|
50000
|
char
|
2344
|
22250
|
|
100000
|
varchar
|
4156
|
44500
|
|
100000
|
char
|
4172
|
44186
|
|
2000000
|
varchar
|
8907
|
89093
|
|
2000000
|
char
|
9188
|
96530
|
两表储存空间比较:
Testchar:73.94M
Testvarchar:7.94M
Testvarchar:7.94M
################################################################################################
以上资料表明,无论是在存储速度还是存储空间上,varchar都是占优势的。
然而这次的测试并不是全部准确的,必竟单次的测试,受干拢的因素太多,影响结果。
实际上,var这种定长字符类型的插入和更新速度是比varchar这种变长字符类型要来的快,虽然差的不是很多。
但是在遇到经常频繁的更新数据库时,这种速度差别就会很明显的体现出来。在这种情形下就要使用char类型来提高数据库的效率。
总而言之,char是一种重视时间的存储方式,而varchar则是重视空间的存储方式。








