加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2018-01-25 17:23:12)
标签:

it

分类: MYSQL

mysql varcharbigintchar三种类型性能的比较

比较数据类型的性能好坏,数据表必须有足够的数据,我用25万条数据做测试
字段是手机号,用这三个类型哪个类型好呢。首先分析手机号有11位,我们把三个类型的长度定义为一样的。都设置不能为空。并且三列数据都一样。如下图:
http://s4/mw690/004bIdzyzy7hECW9B51e3&690varchar,bigint,char三种类型性能的比较" TITLE="mysql 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结果查询如图:
http://s1/bmiddle/004bIdzyzy7hECYB0Aw30&690varchar,bigint,char三种类型性能的比较" />

http://s3/mw690/004bIdzyzy7hED0SBAC62&690varchar,bigint,char三种类型性能的比较" TITLE="mysql varchar,bigint,char三种类型性能的比较" />

bigint结果查询如图:
http://s8/bmiddle/004bIdzyzy7hED3TUwfc7&690varchar,bigint,char三种类型性能的比较" />
char结果查询如图:
http://s16/bmiddle/004bIdzyzy7hED6UCQL9f&690varchar,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类型执行结果:
http://s15/bmiddle/004bIdzyzy7hEDauNmC8e&690varchar,bigint,char三种类型性能的比较" />
bigint类型执行结果:
http://s16/bmiddle/004bIdzyzy7hEDdtBiTaf&690varchar,bigint,char三种类型性能的比较" />
char执行结果:
http://s14/bmiddle/004bIdzyzy7hEDgrgzr9d&690varchar,bigint,char三种类型性能的比较" />
varchar执行时间:0.001
bigint执行时间:0.253
char 执行时间:0.001

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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有