整数类型:

Tinyint-8

Smallint-16

Mediumint-24

Int-32

Bigint-64

实数类型(带有小数部分的数字)

Float-4/double-8:浮点

Decimal:精确(只是存储格式,在计算中会转为double类型)

浮点类型在存储同样范围的值时,通常比decimal使用更少的空间。

字符串类型:

Varchar:可变长字符串(需要1-2个字节存储字符串长度)

优点:比定长类型节约空间;

缺点:碎片问题。字符串update变长时,一个行的占用空间变长,但是在页内没有更多空间存储,MYISAM将行拆成不同片段存储,InnoDB分裂页使行可以放进页内;

适用:字符串最大长度比平均长度大很多;列的更新很少;

Char:定长字符串(MySQL会删除所有末尾空格)

优点:不易产生碎片

适用:存储密码的MD5值;经常变更的数据;

大型数据类型:

Blob:二进制

Text:字符

特殊性:mysql将blob和text值当做一个独立的对象处理,当值太大时,innodb在值内存储一个指针,外部存储区域存储实际的值;mysql对blob和text的排序,只对每列的最前max_sort_length进行排序;mysql不能将列的全部长度字符串进行索引,也不能使用这些索引进行排序;

枚举类型ENUM:

mysql在存储枚举类型时非常紧凑;

Mysql在内部会将每个值在列表中的位置保存为整数,并且在表的.frm文件中保存“数字-字符串”的映射关系的查找表;

缺点:字符串列表是固定的,添加或删除字符串都需要alter table;

优点:可以缩小表的大小;主键减小后,innodb表的非主键索引也会变小;

关联速度:enum列 关联 enum列  >  varchar列 关联 varchar列  >  enum列 关联 varchar列

日期时间类型:

Datetime:8字节;与时区无关;保存大范围的值,从1001年到9999年,精度为秒;

Timestamp(尽量使用):4字节;依赖于时区;保存1970.1.1以来的秒数;列默认为not null;

Timestamp的特殊性:如果插入数据时没有指定第一个timestamp列的值,mysql则设置这个值为当前时间;

mysql 优化 类型_MySQL数据类型的优化选择相关推荐

  1. mysql 负数类型_MySQL数据类型详解

    MySQL数据类型,可以被分为3类:数值类型.日期和时间类型以及字符串(字符)类型 方括号("["和"]")指出可选的类型修饰符的部分 M 指出最大的显示尺寸. ...

  2. mysql long类型_MySQL数据类型笔记

    引言 作为一个做Java后端的开发者,无论是在自己平时项目学习实战还是工作中的真实项目,都离不开和数据库打交道.而MySQL作为当今最流行的关系型数据库之一,也成为了我们必须掌握的一门技术.最近在工作 ...

  3. mysql decimal 类型_MySQL数据类型DECIMAL用法详解

    MySQLDECIMAL数据类型用于在数据库中存储精确的数值.我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据. 要定义数据类型为DECIMAL的列,请使用以下语法: ...

  4. mysql 小类型_mysql 数据类型

    1.整数类型 tinyint   1个字节 smallint 2个字节 mediumint 3个字节 int  4个字节 bigint 8个字节 2.浮点数类型.定点数类型 float 4个字节 do ...

  5. mysql polygon 类型_MySQL数据类型 - 空间数据类型 (4)

    支持的空间数据格式 有两种标准空间数据格式用于表示查询中的几何对象: ●已知文本(WKT)格式 ●已知二进制(WKB)格式 在内部,MySQL用与WKT或WKB格式不同的格式存储几何值.(内部格式类似 ...

  6. mysql整理类型_MYSQL数据类型分析整理

    1,时间类型 类型               所站空间 datetime           8字节 timestamp          4字节 date               3字节 ye ...

  7. 高性能MySQL(2)——Schema与数据类型的优化

    良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计 schema,这往往需要权衡各种因素. 一.选择优化的数据类型 MySQL支持的数据类型非常多,选择正确的数据类型对于获得 ...

  8. mysql范围条件_MySQL 索引及优化实战(一)

    mysql 随着系统用户量的不断增加,MySQL 索引的重要性不言而喻,对于后端工程师,只有在了解索引及其优化的规则,并应用于实际工作中后,才能不断的提升系统性能,开发出高性能.高并发和高可用的系统. ...

  9. mysql 类型_MySQL数据类型

    MySQL与SQLServer的数据类型大同小异.因此,可以忽略与SQLServer相同的地方,在SQLServer的基础上学习. 一.整型的显示宽度 MySQL数据类型与SQLServer有些不同, ...

最新文章

  1. xamarin的破解安装
  2. linux 自动化交互套件 expect 介绍 shell非交互
  3. 基础练习 FJ的字符串
  4. C#——继承[模拟Server类]初始化过程顺序DMEO
  5. nginx操作指南之二
  6. kali linux改中文_kali linux 2019.4设置为中文方法
  7. 记录您的里程和社区运行情况:Java EE 7真实体验
  8. Visual C# 2008+SQL Server 2005 数据库与网络开发-- 9.1 对XML的支持
  9. asp打开exe执行本地程序._ASP.NET Core json配置文件
  10. 锐捷破号破解流程笔记
  11. 免费天气预报API接口
  12. dell服务器新bois系统设置u盘启动,跟大家讲讲dell新版biosU盘启动顺序
  13. 解析为何支付宝微信二维码合一
  14. 《算法笔记》学习笔记(1)
  15. SDK无埋点技术在百分点的探索和实践
  16. 超高清晰电影寻觅及下载技巧汇集
  17. 三星借力北京奧運東風
  18. 2020大众心理健康洞察报告-简单心理——附下载链接
  19. 蛋白质多重分析技术研究分析报告-
  20. 概念数据模型,逻辑数据模型,物理数据模型

热门文章

  1. Python3调用MySQL数据库中的数据
  2. 学Python做人工智能的前景怎么样?如何入行?
  3. wxWidgets:wxList< T >类模板的用法
  4. wxWidgets:事件和事件处理
  5. boost::detail::sp_typeinfo_相关的测试程序
  6. boost::phoenix::delete和using boost::phoenix::new_相关的测试程序
  7. boost::mpi模块all_reduce() 集合的测试
  8. boost::geometry::srs::transformation用法的测试程序
  9. Boost:基于boost::asio模块引用计数程序
  10. VTK:可视化算法之StreamlinesWithLineWidget