mysql varchar,bigint,char三种类型性能的比较

mysql varchar,bigint,char三种类型性能的比较

比较数据类型的性能好坏,数据表必须有足够的数据,我用25万条数据做测试
字段是手机号,用这三个类型哪个类型好呢。首先分析手机号有11位,我们把三个类型的长度定义为一样的。都设置不能为空。并且三列数据都一样。如下图:
mysql <wbr>varchar,bigint,char三种类型性能的比较

 

我们分别做一次查询。
Select userTel  from op_mpr_statis  --varchar

select userTel1  from op_mpr_statis --bigint

select userTel2  from op_mpr_statis --char

首先varchar结果查询如图:
mysql <wbr>varchar,bigint,char三种类型性能的比较

mysql varchar,bigint,char三种类型性能的比较_第1张图片

bigint结果查询如图:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql varchar,bigint,char三种类型性能的比较_第2张图片
char结果查询如图:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql varchar,bigint,char三种类型性能的比较_第3张图片
从图中我们可以分析得出
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类型执行结果:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql varchar,bigint,char三种类型性能的比较_第4张图片
bigint类型执行结果:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql varchar,bigint,char三种类型性能的比较_第5张图片
char执行结果:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql varchar,bigint,char三种类型性能的比较_第6张图片
varchar执行时间:0.001
bigint执行时间:0.253
char 执行时间:0.001

可想而知还是varchar类型比较快。varchar多测试几次它比0.001s还要快。而Char类型一直保持这个速度有时候要比这个速度慢。

你可能感兴趣的:(mysql)