新浪博客

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

2018-01-25 17:23阅读:
mysql varcharbigintchar三种类型性能的比较
比较数据类型的性能好坏,数据表必须有足够的数据,我用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
开始运行执行时间:starting0.0000330
发送时间:sending data 0.3074180

char执行时间: 0.296s
开始运行时间:starting0.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类型一直保持这个速度有时候要比这个速度慢。

我的更多文章

下载客户端阅读体验更佳

APP专享