mysql数据库字段类型的选择原则

原文链接:http://blog.csdn.net/u013412790/article/details/51615407

数据库类型的选择对数据库的性能影响很大 
1 . 数据类型会影响存储空间的开销

2 . 数据类型会影响数据查询性能

所以当一个数据类型可以有多种选择多种类型的时候,应该优先考虑数字类型,其次是日期或二进制类型,最后应该是字符类型。对于相同级别的数据类型,应该优先选择占用空间小的数据类型。 
原理:在对数据进行比较(查询条件,JOIN条件及排序)操作时:同样的数据,字符处理往往比数字处理慢,而且在数据库中,数据的处理是以页为单位,列的长度越小,数据类型占用的空间越小,利于性能的提升。

下面是字段类型所占的字节大小

Tinyint,SmallInt,Mediumint,Int,Bingint该如何选择

1 .从 0 到 255 的整型数据。存储大小为 1 字节。适合使用Tinyint

2.从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。适合使用smallint

3.从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。适合使用int

4.从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。适合使用bigint

char与varchar如何选择

1.如果列中要存储的数据的长度差不多是一致的,则应该考虑char,否则应该考虑用varchar.

2.如果列中最大数据的长度小于50Byte,则一般也考虑使用char(当然,如果这个列很少用,则基于节省空加你和减少I/O的考虑,还是可以使用varchar)

3.一般不宜定义大雨50Byte的char类型列。 
注意:utf8每一个字符时3Byte

decimal和float如何选择

1.decimal用于存储精确数据,而float只能用于存储非精确数据,故精确数据最好使用decimal类型

2.由于float的存储空间的开销一般比decimal小(精确到7为小数只需要4个字节,而精确到15位小数只需要8个字节)故非精确数据类型建议使用float

时间类型如何存储

1.使用int来存储时间字段的优缺点 
优点:字段的长度比datetime小 
缺点:使用不方便,需要函数进行转换 
限制:只能存储到2038-1-19 11:14:07 即2^32为2147483648

2,需要考虑需要存储时间的粒度 
年 月 日 小时 分钟 秒 周

(0)

相关推荐

  • C# 基础知识系列- 1 数据类型

    常见数据类型 C#的类型一般分为值类型.引用类型两大类型. 值类型的实例存放在栈中,引用类型会在栈中放置一个指针指向堆中的某一块内容. C#为我们内置了几个数据类型供我们使用: 关键词简写 对应的类全 ...

  • Mysql数据库的索引类型有哪些?

    Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言.如今Java已经广泛应用于各个领域的编程开发. MySQL索引类型: 1.普通索引 最基 ...

  • mysql最大字段数量及 varchar类型总结

    mysql最大字段数 一直对mysql最大字段数不明确有人说是1024 还有人说 Max columns per row 4096 InnoDB is limited to 1000 columns ...

  • UC头条:MySQL数据库定时备份到其他电脑

    最近我的一个学弟问了我一个问题,说他要实现一个功能,他老师给他提出来一个问题,让他的项目实现定时备份数据库到其他电脑,确保安全.他就来问我,还好我之前弄过,虽然我是干前端的,哈哈哈,之前学的比较杂. ...

  • 【竺】数据库笔记7——Mysql数据库备份

    *. mysql -u username -p password: 这个命令用于输入用户名和密码登陆mysql服务器: *.show databases;:用于查看mysql服务器中的数据库情况(会罗 ...

  • MySQL数据库有哪些优势特点?Linux数据库

    为什么众多企业都选择MySQL数据库?目前,绝大多数使用Linux操作系统的互联网企业都使用MySQL作为后端的数据库.MySQL是互联网领域里非常重要的.深受广大用户欢迎的一款开源关系型数据库软件. ...

  • 高中历史学科研究性学习的类型与实施原则

    李骥秋 一.摆正一对关系 上海地区研究型课程在高中各阶段已普遍实施,并取得了可喜的成效与宝贵的经验.众所周知,研究型课程在教育部颁布的<基础教育课程改革纲要>中是"作为综合实践活 ...

  • Power BI连不上MySQL数据库?怎么破?

    - 1 -  直连的问题及解决办法 今天要连一个别人管理的MySQL数据库抽取数据,本来想着是个很简单的事儿,因为Power BI本身就提供了MySQL的连接器: 然鹅,当我很开心地去点"连 ...

  • 主要诊断选择原则要点解析(文末附自测练习)

    主要诊断选择原则: 1.主要诊断定义: 经研究确定的导致患者本次住院就医主要原因的疾病(或健康状况) 注:患者一次住院只能有一个主要诊断  2.主要诊断选择总则:  ⑴患者健康危害最大 ⑵消耗医疗资源 ...

  • 主要疾病诊断的选择原则

    主要疾病诊断的选择原则