美文网首页
字段选择

字段选择

作者: code_nerd | 来源:发表于2017-10-27 09:41 被阅读0次

字段选择的基本规则

  • 更小的通常更好,同类型字段,尽量选择占用更小的存储空间的,更小的字段通常速度更快,因为占用更少的硬盘空间,内存空间和cpu资源。 若tinyint 满足条件 则不选择int
  • 简单更好,多个数据类型满足的情况下,选择更简单的类型。更简单的类型可以减少cpu的处理时间。 如数字型会比字符串更加有优势
  • 尽量避免null, 如果字段中允许null的话,mysql很难去优化查询,因为所建立的索引会更加复杂

整数型

整数型包含了 tinyint、smallint、mediumint、int 和 bigint,分别是2的8、16、24、32、64位存储空间
signed 和unsigned 使用相同的空间,
int(1)和int(20)是占用一样的空间,并且作用是一样的。只是会在一些mysql的交互工具上显示不同而已。

实数类型

实数型包含float、double、decimal,decimal可以用来存储bigint存储不下的数字
float和double只能提供近似的值,如要存储精确的小数则需要使用decimal来处理
因为decimal占用的空间较大,如数字大小并不大,则可以使用将小数部分乘以百万 转为bigint存储

字符串类型

varchar

varchar是变长字符串,使用1到2位来存储长度,当字符串长度不大于255时使用1位
varchar对性能的提升是因为它是变长的,但当你更新它时需要进行额外的工作
对于varchar 尽量使用符合条件 更短的长度。 长度大时,mysql需要消耗更多的内存去处理,mysql在内部处理时,总是将varchar转为定长字符串。尤其在filesort,临时表和排序时,对性能影响更大
使用场景

  • 当字符串的最大长度远大于字符串的平均长度
  • 字段的更新很少,频繁的更新会导致页分裂
  • 使用复杂的字符集

char

char是定长字符串
使用场景

  • 当你存储很短的字符串时,char是非常好用的,例如存储md5后的值
  • 存储的值经常需要更新

char会自动将字符串结尾的空格去掉,而varchar则不会

text 和 blob

text和blob可以存储大量的字符串和数字,text具有字符集而blob不具有字符集
text有 tinytext、text、mediumtext和longtext
blob有tinyblob、smallblob、blob、mediumblob和longblob

时间类型

datetime类型

yyyy-mm-dd hh:mm:ss
datetime 类型时间和时区无关 占用8个字节存储空间

timestamp 实际上是以int 1970年-2038年

存储1970年1月1日到当前时间的秒数,以yyyy-mm-dd hh:mm:ss显示,占用4个字节
显示依赖于指定时区
在行修改时,可以自动修改timestamp值

date类型 只用3个字节

只存储日期,可以利用日期时间函数进行计算

time类型

只存储时间数据,hh:mm:ss

不要使用字符串来存储时间日期

相关文章

  • 字段选择

    字段选择的基本规则 更小的通常更好,同类型字段,尽量选择占用更小的存储空间的,更小的字段通常速度更快,因为占用更少...

  • MongoDB 基本操作整理(二)

    1、MongoDB投影(选择字段) 投影表示仅选择所需要字段的数据,而不是选择整个文档字段的数据 语法 请注意,在...

  • MySQL中的count(1)和count(*)的区别

    count(1)或括号中是其它数字、字段名,表示只选择该字段(或数字)进行查询,而count()表示选择所有的字段...

  • 合同付款结算发票打印结算数量不正确

    字段选择错误,需选择HTBDCXJL_CXSL

  • 字段类型选择

    数值: 整数,浮点数或小数 TINYINT (1) SMALLINT(2) MEDIUMINT(3) INT(4)...

  • uibot 之数据抓取功能UiElement.DataScrap

    1、两次选择同一层级下的不同字段uibot需要至少两次选择不同条目(这里是商品)的相同字段才可以识别特定选中字段;...

  • 多字段 处理

    有的项目会有很多字段需要用户输入/选择 一般我是监听 ’选择确定‘ 这个事件,然后将这个字段选择后返回的数据保存到...

  • SAP MM 为MB51报表增加查询字段

    SAP MM 为MB51报表增加查询字段 比如想按照'抬头文本'字段来查询, 找到'凭证抬头文本',勾选'选择字段...

  • CH3 dplyr : Data Transformation

    主要函数 filter:选择行 select :选择列 mutate :新增字段 summary: arrange...

  • Running a Simulation ~Editing a

    选择控制器选择模型窗口字段和按钮Select Controller(选择控制器)Select(选择) 切换选择或...

网友评论

      本文标题:字段选择

      本文链接:https://www.haomeiwen.com/subject/gmcrpxtx.html