mysql varchar,bigint,char三种类型性能的比较
比较数据类型的性能好坏,数据表必须有足够的数据,我用25万条数据做测试
字段是手机号,用这三个类型哪个类型好呢。首先分析手机号有11位,我们把三个类型的长度定义为一样的。都设置不能为空。并且三列数据都一样。如下图:
我们分别做一次查询。
Select userTel from op_mpr_statis --varchar
select userTel1 from op_mpr_statis --bigint
select userTel2 from op_mpr_statis --char
首先varchar结果查询如图:
bigint结果查询如图:
char结果查询如图:
从图中我们可以分析得出
varchar执行时间 0.121s
开始运行执行时间starting: 0.0000510
发送时间:sending data 0.1210180
bigint执行时间:0.308s
开始运行执行时间:starting:0.0000330
发送时间:sending data :0.3074180
char执行时间: 0.296s
开始运行时间:starting:0.0000330
发送时间:sending data: 0.2958530
上边我们按查询所有数据只显示一个字段的效果。那我们可以根据一个条件去查询看看效果:
select userTel from op_mpr_statis WHERE userTel='18101033230' --varchar
select userTel1 from op_mpr_statis WHERE userTel=18101033230 --bigint
select userTel2 from op_mpr_statis WHERE userTel='18101033230' --char
varchar类型执行结果:
bigint类型执行结果:
char执行结果:
varchar执行时间:0.001
bigint执行时间:0.253
char 执行时间:0.001
可想而知还是varchar类型比较快。varchar多测试几次它比0.001s还要快。而Char类型一直保持这个速度有时候要比这个速度慢。