- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
char和varchar在mysql中的效率怎样
char和varchar效率??
char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:char M 类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar M 类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节)数据库、网站空间、虚拟主机、服务器托管、vps主机、服务器租用的中国信息港来为你做详细介绍!
当使用全表都是char这的字段的时候,那么表属性Row_format是Fixed也就是静态表,与之对应的自然就是动态表Dynamic,静态表比动态表效率要高,主要是因为,基于两点:
1 没有碎片,每行的长度是固定,所以在频繁更新的场景下,尤其是某个字段由小变大.
2 方便数据文件指针的操作,在myisam中有一个数据文件指针的概念,是用来指向数据文件,比如在索引中指向数据文件.静态表的偏移量的固定不变的,而在动态表中每行的数据长度大小不一,就可能导致数据更多的开销
基于以上两点,所以静态表在查询,修改拥有较大优势,但是这个优势也是有适用场景的.
首先猜想char由于每次存取都会自动的削掉末尾的空格,而且数据文件也大,所以会使用更多的cpu和内存资源,尤其在取的时候,要是长短差距较大的时候,还是会很浪费操作的.
其次验证想法,首先测试插入性能,建了2张表并调用sp分别插入200W的数据
CREATE TABLE `isam_char` `content` char 255 NOT NULL ENGINE MyISAM? DEFAULT CHARSET utf8;
CREATE TABLE `isam_vc` `content` varchar 255 NOT NULL ENGINE MyISAM? DEFAULT CHARSET utf8;
call insert_isam 座机电话号码,isam_char ;
call insert_isam 座机电话号码,isam_vc ;
多次平均isam_char插入200W的数据为138.21s,而isam_vc少了约20s为119.80s,这应该是每次插入的时候,mysql要把char字段填充到255的操作.观察数据文件大小,isam_vc为235.8M而isam_char为1.4G!
再测试查询,为了保证两者一致,首先把isam_char中数据删除,再把isam_vc中数据导入isam_char中,无索引,禁闭query_cache
truncate table isam_char;##观察了下数据文件,被穷空成0
insert into isam_char select * from isam_vc;##观察了下数据文件,依然是1.4G
select * from isam_char limit 1555555,5;
select * from isam_vc limit 1555555,5;
依旧多次查询去平均值,isam_char表平均值为10.50s,而isam_vc则为1.51s!
再看下创建索引,以及索引的使用情况
mysql create index index_char on isam_char content ; Query OK, 座机电话号码 rows affected 2 min 56.33 sec Records: 座机电话号码? Duplicates: 0? Warnings: 0
mysql create index index_vc on isam_vc content ; Query OK, 座机电话号码 rows affected 1 min 31.98 sec Records: 座机电话号码? Duplicates: 0? Warnings: 0
mysql select count * from isam_char where content iamauperman!iwillbeahero!! ; +
mysql select count * from isam_vc where content iamauperman!iwillbeahero!! ; +
还是不理想,所以在长度很不固定情况下使用char或静态表是很不理想的事,当然这里做的是全索引扫描,动态表的索引要小于动态表,估计最大的优势是使用索引去找数据和update,为了验证,再次测试update.
mysql update isam_char set content iamauperman!iwillbeahero!!iamauperman!i
您可能关注的文档
- 2014大气压强备课教案.doc
- 2014年上海社区工作站考试面试指导匹配的意义.doc
- 2014年中考数学模拟试卷(五).doc
- 2014年全国中考真题分类解析考点2氧气的性质与制备(包括催化剂).doc
- 2014年公务员考试时事政治中国古代官德的现代启示.doc
- 2014年北京市家庭安全知识竞赛试题手册刘硕2014611.doc
- 2014年新课标化学部分高考考点梳理.doc
- 2014年高考英语总复习专项专练非谓语动词(人教版,含2013模拟解析).doc
- 2014概率论与数理统计期末试卷.doc
- 2014江西公务员面试热点百万葬礼.doc
- 2025年初级银行从业资格之初级个人理财考试题库及答案【夺冠】.docx
- 2025年初级银行从业资格之初级个人理财考试题库及参考答案(预热题).docx
- 深圳大学高数课件—统计学指数深证成指.ppt
- 2025年初级银行从业资格之初级个人理财考试题库及完整答案(夺冠).docx
- 2025年初级银行从业资格之初级个人理财考试题库【真题汇编】.docx
- 2025年初级银行从业资格之初级个人理财考试题库及答案(名师系列).docx
- 2025年初级银行从业资格之初级个人理财考试题库【达标题】.docx
- 湘雅儿科课件Measl.ppt
- 2025年初级银行从业资格之初级个人理财考试题库【名校卷】.docx
- 2025年初级经济师之初级经济师基础知识考试题库(综合题).docx
最近下载
- 高二历史选修1重要课知识点.doc
- 九年级物理电学培优习题.doc VIP
- 2023-2024学年广东省深圳中学高二上生物期末质量检测试题含解析.doc VIP
- 交管12123学法减分复习题库500道(满分必刷).docx
- 2023-2024学年粤教版科学五年级上册教学计划(含教学进度表).pdf
- 初中数学计算能力提高的方法教学研究课题报告.docx
- AQ 1028-2006煤矿井工开采通风技术条件.pdf
- 小红书美妆产品社交电商分析.docx VIP
- 氯乙烯化工企业安全生产操作规程.pdf VIP
- 必威体育精装版国家开放大学电大本科《数学分析专题研究》期末试题标准题库及答案(试卷号:1087).pdf
文档评论(0)