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