Mysql字段类型设计相关问题!-阿里云开发者社区

开发者社区> 思梦php> 正文

Mysql字段类型设计相关问题!

简介:
+关注继续查看

Mysql是以文件存储在我们的系统的硬盘上面,那么

(1)当我们读取写入的时候就会有磁盘IO的问题

(2)当我们存储的数据是以页单位存储,而且每页的大小是16K,那么我们要尽可能的让我们的一页数据存放的更多。表结构宽度不要太大,也就是列数不要过多,保存更可能多的行数,那么针对行数存储就会涉及到字段类型选择的问题

110

以下字节按照utf8来示例,一个中文占3个字节,一个数字和字母是一个字节,而且utf8是变长的,范围在1-6之间

(1)数字比字符串处理的速度要快

(2)当我们需要存储一个固定的长度的值(身份证,手机号)并且长度小于50个字节的时候,那么我们可以选用char(n)

(3)当我们要存储大于50个字节长度的值时候选用varchar(n)

(4)当我们存储时间的时候datatime>int>char>varchar,但是int是有时间范围限制的,只能存到2038年

(5)float和decimal的选择,当我们需要存储一个精度很高的值的时候,那么我们就要存decimal,float只能保存到小数点后7位

下面是类型占用的字节数



6044dcf24abd6eeea7359bc0cfa9dcbd3583a933


e317f2084311548375a53f71903bfff356afbdb3


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
[20121028]IOT字段定义顺序的问题.txt
[20121028]IOT字段定义顺序的问题.txt 如果在IOT中定义的主键不在第1字段,实际的存贮会出现什么情况呢?看了一些blog: http://richardfoote.
678 0
如何设计高效合理的MySQl查询语句?23种常用类型汇总(珍藏版)
MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。
1114 0
[20130106]关于不同字符集下clob字段的存储问题.txt
[20130106]关于不同字符集下clob字段的存储问题.txt工作需要,需要把几个数据库合并在一起,由于以前数据库使用的字符集是AMERICAN_AMERICA.US7ASCII,而现在的数据库使用SIMPLIFIED CHINESE_CHINA.ZHS16GBK,整合的时候需要修改字符集,统一到字符集SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
692 0
架设PPPOE Server及Radius Server(OpenLDAP+Mysql) 实现PPOE 计费系统
http://dxf1122.blog.163.com/blog/static/54041004200977101537378/ ...
641 0
Swagger异常定位纪实,是用的不对,还是Swagger本身设计问题
swagger ui是一个采用注解驱动的接口文档工具,目前已支持标准的open api v3规范协议,所以不仅可以在java项目里使用,每个语言都有相应的open api实现。项目集成swagger后,可以生成导出open api v3格式化的元数据集,有了这个接口元数据,你可以在任何支持v3协议的ui上展示你的api信息。在前后端分离的项目中,swagger ui的出现,大大提高了前后端联调的效率。swagger ui在解析注解标注的元数据信息时,特别场景下会抛异常,而且抛的异常没有直观的有价值的异常信息,所以深入的debug了一番,虽然最后问题解决很简单,但是过程非常曲折。故将bug定位过
478 0
字段定义varchar和char的问题
http://www.itpub.net/482986.html 总结: 实际上在许多开发语言可能的情况就不想PLsql那样了,可能这种仅仅是一种数据类型..
505 0
根据时间字段导入数据的问题总结
在之前的博文中介绍过如何通过exchange partition,split partition达到快速的数据切换,对于上百G的大表来说,速度都在秒级完成 对于大分区重新分区来说,上面的步骤已经够用了,但是对于数据清理来说,工作才刚刚开始,这是一种逻辑的数据清理,因为目前分区表中重新分区后没有数据,对于历史数据可以选择按照分区逻辑使用insert append的方式进行数据导入。
579 0
+关注
思梦php
思梦PHP公益讲师!热衷PHP技术,热爱技术分享!
37
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载