几种基本数据类型选择
2017-10-05 18:21
253 查看
浮点数与定点数
1.浮点数:在mysql中一般用float,double(或real)来表示浮点数。如果插入数据的精度超过该列定义的实际精度,则插入值会被四舍五入到实际定义的精度值,然后插入,四舍五入的过程不会报错(精度不够准)。
定点数:定点数实际上是以字符串形式存放的,所以精度更高,能更准确的保存数据。
浮点数会出一些问题,单精度和双精度也是有差异的。
涉及到金融,必须用定点数来保存。
浮点数的比较也是一个普遍存在的问题,如果要比较,则进行使用范围比较,不要使用==来比较。
注意:在今后关于浮点数和定点数的应用中,用户要考虑到以下几个原则:
浮点数存在误差问题;
对货币等对精度敏感的数据,应该用定点数表示或存储;
在编程中,如果用到浮点数,要特别注意误差问题,并尽量避免做浮点数比较;
要注意浮点数中一些特殊值的处理。
日期类型选择
根据实际需要选择能够满足应用的最小存储的日期类型。如果应用只需要记录“年
份”,那么用 1 个字节来存储的 YEAR 类型完全可以满足,而不需要用 4 个字节来
存储的 DATE 类型。这样不仅仅能节约存储,更能够提高表的操作效率。
如果要记录年月日时分秒,并且记录的年份比较久远,那么最好使用 DATETIME,
而不要使用 TIMESTAMP。因为 TIMESTAMP 表示的日期范围比 DATETIME 要短得多。
如果记录的日期需要让不同时区的用户使用,那么最好使用 TIMESTAMP,因为日
期类型中只有它能够和实际时区相对应。
常见数据类型选取原则:
对于字符类型,要根据存储引擎来进行相应的选择。
对精度要求较高的应用中,建议使用定点数来存储数值,以保证结果的准确性。
对含有 TEXT 和 BLOB 字段的表,如果经常做删除和修改记录的操作要定时执行
OPTIMIZE TABLE 功能对表进行碎片整理。
日期类型要根据实际需要选择能够满足应用的最小存储的日期类型。
1.浮点数:在mysql中一般用float,double(或real)来表示浮点数。如果插入数据的精度超过该列定义的实际精度,则插入值会被四舍五入到实际定义的精度值,然后插入,四舍五入的过程不会报错(精度不够准)。
定点数:定点数实际上是以字符串形式存放的,所以精度更高,能更准确的保存数据。
浮点数会出一些问题,单精度和双精度也是有差异的。
涉及到金融,必须用定点数来保存。
浮点数的比较也是一个普遍存在的问题,如果要比较,则进行使用范围比较,不要使用==来比较。
注意:在今后关于浮点数和定点数的应用中,用户要考虑到以下几个原则:
浮点数存在误差问题;
对货币等对精度敏感的数据,应该用定点数表示或存储;
在编程中,如果用到浮点数,要特别注意误差问题,并尽量避免做浮点数比较;
要注意浮点数中一些特殊值的处理。
日期类型选择
根据实际需要选择能够满足应用的最小存储的日期类型。如果应用只需要记录“年
份”,那么用 1 个字节来存储的 YEAR 类型完全可以满足,而不需要用 4 个字节来
存储的 DATE 类型。这样不仅仅能节约存储,更能够提高表的操作效率。
如果要记录年月日时分秒,并且记录的年份比较久远,那么最好使用 DATETIME,
而不要使用 TIMESTAMP。因为 TIMESTAMP 表示的日期范围比 DATETIME 要短得多。
如果记录的日期需要让不同时区的用户使用,那么最好使用 TIMESTAMP,因为日
期类型中只有它能够和实际时区相对应。
常见数据类型选取原则:
对于字符类型,要根据存储引擎来进行相应的选择。
对精度要求较高的应用中,建议使用定点数来存储数值,以保证结果的准确性。
对含有 TEXT 和 BLOB 字段的表,如果经常做删除和修改记录的操作要定时执行
OPTIMIZE TABLE 功能对表进行碎片整理。
日期类型要根据实际需要选择能够满足应用的最小存储的日期类型。
相关文章推荐
- python基础之几种基本数据类型
- 面试题C++有哪几种基本数据类型
- Python3学习笔记03-基本数据类型、序列、运算及缩进和选择
- 面试题C++有哪几种基本数据类型
- activeMQ 传递数据,只能用基本类型,只有几种,其他的要序列化
- java 对redis几种数据类型的基本操作
- 白菜之几种基本数据类型随机数生成的小结!
- Python成长之路(一)——准备、基本数据类型、序列、运算、缩进和选择
- c++primer第二章“c++定义了几种基本类型,还提供了可用于自定义数据类型的机制,此外,我们还能修改已有的类型以形成复合类型”
- Mysql 登陆&退出、创建&删除&选择数据库、基本数据类型、创建&删除表格
- MySQL 基本数据类型选择要合适
- JAVA 中的几种基本数据类型是什么,各自占用多少字节。
- objective-c(四)-基本数据类型以及循环和选择结构
- JS开发中基本数据类型具体有哪几种
- javascript中的基本数据类型以及类型检测的几种方法
- objective-c(四)-基本数据类型以及循环和选择结构
- javaday02_基本数据类型的几种应用
- Object-C 运行时机制几种最基本数据类型
- 线性代数 1:基本的数据类型和数据结构选择
- java的几种基本数据类型