(一) Mysql数据类型

数据类型的选择

  • 更小的通常更好
  • 简单就好
  • 尽量避免NULL

整数类型

  • tinyint 占空间8位
  • smallint 占空间16位
  • mediumint 占空间24位
  • int 占空间32位
  • bigint 占空间64位

它们可以储存值的范围为-2n-1 ~ 2n-1-1

实数类型

  • float 4个字节
  • double 8个字节
  • decimal decimal(18,9),每4个字节存储9个数字,小数点占一个字节,共9个字节

float和double通常使用比decimal更少的空间,但是容易丢失精度,所以在考虑精确计算是应使用decimal,其他情况可考虑用float或double来实现更少的空间占有

字符串类型

  • varchar 用于存储可变长字符串,会使用1-2额外字节记录,它比定长类型更节省空间。需要1或2个额外记录字符串长度,varchar节省了存储空间,对性能有一定的帮助,但是由于行是变长的,在update的时候,可能使行变得比原来更长,需要做额外的工作,InnoDB需要分裂页来使行可以放进页内,
  • char 类型是定长的,存储char值时,mysql会删除所有的末尾空格char值会根据需要采取空格进行填充以方便比较

对于固定长度,经常变更的数据,char会更适合
对于只有少数字符较长的情况或者数据长度不一的数据,varchar会更合适。

与char和varchar类似的类型还有binary和varbinary,它们存储的是二进制字符串。二进制字符串跟常规字符串非常相似,但是二进制字符串存储的是字节码而不是字符,填充也不一样,mysql填充binary采用的是\0而不是空格

避免乱分配varchar的长度

使用varchar(5)和varchar(200)存储’hello’的空间开销是一样的,但是在使用内存临时表进行排序或操作时,更长的列会消耗更多的空间

BLOB和TEXT类型

  • TEXT tinytext,smalltext,text,mediumtext,longtext
  • BLOB tinyblob, smallblob,blob,mediumblob,longblob

存储方式:mysql把每个blob和text值当作一个独立对象处理。当blob和text值太大时,InnoDB会使用专门的“外部存储区域”来进行存储,此时每个值在行内需要1-4个字节存储一个指针,然后在外部存储区域存储实际的值

排序:blob和text列进行排序与其他类型时不同的:它只对每个列的最前max_sort_length字节而不是整个字符串做排序。如果只需要排序前面的一小部分字符串,则可以减少max_sort_length的配置,或者使用order by sustring(column,length)

日期和时间类型

datetime

这个类型能保存大范围的值,从1001年到9999年,精度为秒。它把日期和时间封装到格式为YYYYMMDDHHMMSS的整数中,与时区无关。使用8个字节的存储空间。

TIMESTAMP

TIMESTAMP类型保存了从1970年1月1日午夜以来的秒数,它和unix时间戳。timestamp只使用4个字节的存储空间,因此它的范围比datetime小很多,只能表示从1970年到2038年。MySQL提供了from_unixtime() 函数把unix时间戳转换为日期,并提供了unix-timestamp()函数把日期转换为Unix时间戳。

  • 除了特殊行为之外,通常也应该尽量使用TIMESTAMP,因为它比DATETIME空间效率更高。有时候人们会将Unix时间戳存储为整数值,但这不会带来任何收益。用整数保存时间戳的格式通常不方便处理,所以我们不推荐这样做。

  • 如果要存储不比秒更小的细粒度的日期和时间值,可以用BIGINT类型存储微秒级别的时间戳,或者使用DOUBLE存储秒之后的小数部分

标识符

为标识列选择合适的数据类型非常重要。一般来说很有可能用标识列与其他值比较,或者通过标识列寻找其他列。标志列也可能在另外的表作为外键使用。一旦选定了一种类型,要确保所有关联表中都使用同样的类型,这样可避免隐式转换带来的开销

# 高校智慧校园解决方案摘要 智慧校园解决方案是针对高校信息化建设的核心工程,旨在通过物联网技术实现数字化校园的智能化升级。该方案通过融合计算机技术、网络通信技术、数据库技术和IC卡识别技术,初步实现了校园一卡通系统,进而通过人脸识别技术实现了更精准的校园安全管理、生活管理、教务管理和资源管理。 方案包括多个管理系统:智慧校园管理平台、一卡通卡务管理系统、一卡通人脸库管理平台、智能人脸识别消费管理系统、疫情防控管理系统、人脸识别无感识别管理系统、会议签到管理系统、人脸识别通道管理系统和图书馆对接管理系统。这些系统共同构成了智慧校园的信息化基础,通过统一数据库和操作平台,实现了数据共享和信息一致性。 智能人脸识别消费管理系统通过人脸识别终端,在无需接触的情况下快速完成消费支付过程,提升了校园服务效率。疫情防控管理系统利用热成像测温技术、视频智能分析等手段,实现了对校园人员体温监测和疫情信息实时上报,提高了校园公共卫生事件的预防和控制能力。 会议签到管理系统和人脸识别通道管理系统均基于人脸识别技术,实现了会议的快速签到和图书馆等场所的高效通行管理。与图书馆对接管理系统实现了一卡通系统与图书馆管理系统的无缝集成,提升了图书借阅的便捷性。 总体而言,该智慧校园解决方案通过集成的信息化管理系统,提升了校园管理的智能化水平,优化了校园生活体验,增强了校园安全,并提高了教学和科研的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值