MySQL数据类型的选择
+++++++++++++++++++++++++++++++++++++++++++
标题:MySQL数据类型的选择
时间:2019年2月22日
内容:MySQL数据类型的选择范式参考
重点:主要讲述MySQL数据库字段类型选择方式
+++++++++++++++++++++++++++++++++++++++++++
1. 为什么要选择字段数据类型
MySQL数据库为其用户提供了大量的数据类型,为了优化存储,提高数据库性能,应根据需要存储的数据特点存在最为合适和精确的数据类型。
2. 整数与浮点数
如果存储的数据是否需要精确到小数,不需要则可根据数据大小选择相应的整数数据类型;
如果存储的数据需要保留小数,是否要求尽量精确,不需要则选择float数据类型;
如果存储的数据需要保留小数并要求尽量精确,则选择double数据类型。
3. 日期和时间类型(YEAR、TIME、DATETIME和TIMESTAMP)
3.1 YEAR数据类型
建议用于仅需要记录年份的数据字段,但其范围较小,如果需要存储大范围也可以选择DATETIME;
3.2 TIME数据类型
建议用于仅需要记录时间的数据字段(XX年XX月XX日)。
3.3 DATETIME和TIMESTAMP数据类型
DATETIME和TIMESTAMP两种数据类型均可以记录"日期+时间";
DATETIME数据类型的取值范围大于TIMESTAMP数据类型;
TIMESTAMP数据类型可以在未给该字段赋值的情况下,将当前的时间戳存入数据库;
具体需要根据数据情况进行确定。
4. char与varchar数据类型
4.1 char与varchar数据类型的特点
char类型为定长字符串类型;varchar为非定长字符串类型
char类型会自动删除数据后的空格;varchar不会删除数据后的空格
char类型存储占用定义的空间大小;varchar类型存储占用实际数据大小的空间
4.2 char与varchar的选择原则
char数据类型为固定长度,处理速度优于varchar数据类型。
char数据类型为定长字符串类型,会造成存储空间的浪费,该方面varchar数据类型优于char数据类型。
查询时,varcha的数据缓存到内存中时,需要预先分配的缓存空间等于定义时最大的数据空间,可能造成内存的消耗。
5. ENUM和SET数据类型
ENUM适用于仅在数据集合中取一个值的情况并且数据集合较小;
SET适用于仅在数据集合中取多个值的情况。
6. BLOB和TEXT数据类型
BOLB:二进制形式大容量信息存储,用于存储图片、音频等数据信息;
TEXT:文本形式大容量信息存储,用于存储纯文本数据信息。
MySQL数据类型的选择的更多相关文章
- Mysql 数据类型及选择原则
MySQL中的数据类型大的方面来分,可以分为:日期和时间.数值,以及字符串.下面就分开来进行总结. 数据库类型的选择对数据库的性能影响很大 1 . 数据类型会影响存储空间的开销 2 . 数据类型会影响 ...
- 05 MySQL数据类型的选择与使用
数据类型的选择 1.CHAR与VARCHAR 存储/检索的方式不同. CHAR是固定长度,而VARCHAR是可变长度 非SQLMode下,超 ...
- 谈谈如何选择合适的MySQL数据类型
MySQL数据类型选择 一 .选择原则 更小的通常更好:一般情况下选择可以正确存储数据的最小数据类型.越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小. 简单就好:简单的数据类型的操作通常需要更 ...
- 如何选择合适的MySQL数据类型
一.MySQL数据类型选择原则 更小的通常更好:一般情况下选择可以正确存储数据的最小数据类型.越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小. 简单就好:简单的数据类型的操作通常需要更少的CP ...
- MySQL数据类型的最优选择
MySQL数据类型的最优选择 慎重选择数据类型很重要.为啥哩?可以提高性能.原理如下: ● 存储(内存.磁盘).从而节省I/O(检索相同数据情况下) ● 计算.进而 ...
- mysql 数据类型
1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) ...
- MySQL 数据类型 详解
MySQL 数据类型 详解 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 My ...
- MySQL数据类型——数值类型
1.1.1 整型 整型 占用字节 范围 范围 tinyint 1 -27~27-1 -128~127 smallint 2 -215~215-1 -32768~32767 mediumint 3 -2 ...
- 【转】MySQL数据类型和常用字段属性总结
来源:http://www.jb51.net/article/55853.htm 这里先总结数据类型.MySQL中的数据类型大的方面来分,可以分为:日期和时间.数值,以及字符串.下面就分开来进行总结. ...
随机推荐
- Django 系列博客(九)
Django 系列博客(九) 前言 本篇博客介绍 Django 模板的导入与继承以及导入导入静态文件的几种方式. 模板导入 模板导入 语法:``{% include '模板名称' %} 如下: < ...
- ----Juquery复选框全选反选及获取选中值Value
--获取选中值 var pList = ""; $("[name='ckdProd']").each(function () { if ($(this).is( ...
- jstat命令查看jvm的GC情况 (以Linux为例)
jstat命令可以查看堆内存各部分的使用量,以及加载类的数量.命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意!!!:使用的jdk版本是jdk8. ...
- [转载] spring aop 环绕通知around和其他通知的区别
前言: spring 的环绕通知和前置通知,后置通知有着很大的区别,主要有两个重要的区别: 1) 目标方法的调用由环绕通知决定,即你可以决定是否调用目标方法,而前置和后置通知 是不能决定的,他们只 ...
- 浏览器与Node的事件循环(Event Loop)有何区别?
前言 本文我们将会介绍 JS 实现异步的原理,并且了解了在浏览器和 Node 中 Event Loop 其实是不相同的. 一.线程与进程 1. 概念 我们经常说 JS 是单线程执行的,指的是一个进程里 ...
- eclipse自定义工作区列表
打开eclipse,在菜单栏上找到Window,点击Window--->Perspective--->Customize Perspective...,会看到 弹出来的一个窗口,然后点击最 ...
- JavaScript知识点 思维导图
javascript变量 javascript数据类型 javascript运算符 javascript流程语句 javascript数组 javascript字符串函数 javascript函数基础 ...
- React Native基础&入门教程:以一个To Do List小例子,看props和state
本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在上篇中,我们介绍了什么是Flexbox布局,以及如何使用Flexb ...
- Easyui datagrid 实现表格记录拖拽
datagrid 实现表格记录拖拽 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 jquery-easyui-datagrid-dnd 下载地址: http ...
- Netty学习笔记(五) 使用Netty构建静态网页服务器
昨天在继续完善基于Netty构建的聊天室系统的过程中,发现了一个有意思的知识点,特此拿来做一个简单的静态网页服务器,好好的玩一玩Netty. 但是不管怎么说利用netty实现各种功能的流程都是类似的 ...