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 <wbr>varchar,bigint,char三种类型性能的比较

bigint结果查询如图:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql <wbr>varchar,bigint,char三种类型性能的比较
char结果查询如图:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql <wbr>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类型执行结果:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql <wbr>varchar,bigint,char三种类型性能的比较
bigint类型执行结果:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql <wbr>varchar,bigint,char三种类型性能的比较
char执行结果:
mysql <wbr>varchar,bigint,char三种类型性能的比较mysql <wbr>varchar,bigint,char三种类型性能的比较
varchar执行时间:0.001
bigint执行时间:0.253
char 执行时间:0.001

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值