加入收藏 | 设为首页 | 会员中心 | 我要投稿 91站长网 (https://www.91zhanzhang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Schema与数据类型优化的办法

发布时间:2022-02-18 14:35:40 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍Schema与数据类型优化的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。为了区分不同的集合,就需要给不同的集合起不同
       这篇文章主要介绍Schema与数据类型优化的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
 
       schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。为了区分不同的集合,就需要给不同的集合起不同的名字,默认情况下一个用户对应一个集合,用户的schema名等于用户名,并作为该用户缺省schema。所以schema集合看上去像用户名。
 
       如果把database看作是一个仓库,仓库很多房间(schema),一个schema代表一个房间,table可以看作是每个房间中的储物柜,user是每个schema的主人,有操作数据库中每个房间的权利,就是说每个数据库映射的user有每个schema(房间)的钥匙。 SQL server和Oracle mysql有别
 
4.1选择优化的数据类型
原则:
1、更小的通过更好,尽量使用可正确存储数据的最小的数据类型(占更少的磁盘 内存 CPU缓存,处理时需要CPU周期更少:更快),但能罩得住数据,存不下就尴尬了
 
2、简单就好:简单类型(更少CPU周期),使用MySQL内建类型存时间,整型存ip,整型较字符代价低(字符集和校对排序规则使字符较复杂)
 
3、尽量避免null:最好指定为not null
  
4.1.1整数类型【参考】
整数whole number
tinyint(8位存储空间)  smallint(16)  mediumint(24)   int(32)    bigint(64)
 
1、存储值的范围:Schema与数据类型优化的方法,N是存储空间的位数
 
2、unsigned:可选、不容许负值,可使正数的上限提高一倍:tinyint unsigned 0~255,tinyint-128~127
 
3、有无符号使用相同的存储空间,相同的性能
 
可为整型指定宽度,例如INT(11),对于大多数应用无意义,不会限制值的合法范围,只是规定了交互工具显示字符的个数,对于存储和计算,int(1)和int(20)是相同的;
 
实数real number:带小数
float和double,mysql使用duble作为内部浮点计算的类型
 
decimal:存储精确的小数,mysql服务器自身实现,decimal(18,9)18位,9位小数,9个字节(前4后4点1)
 
尽量只在对小数进行精确计算时才使用(额外的空间和计算开销),如财务数据
 
数据量大时,考虑使用bigint代替,将需要存储的货币单位据小数的位数乘以相应的倍数
 
浮点:
 
建议:只指定类型、不定精度(mysql),这些精度非标准,mysql会悄选类型、或存时对值取舍
 
存储同样范围的值时,比decimal更少的空间,float4字节存 double8字节(更高精度范围)

(编辑:91站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读