mysql中schema与数据类型优化以及服务器性能检测

来源:互联网 发布:淘宝手机详情图片少 编辑:程序博客网 时间:2024/05/19 18:14

1.数据类型优化
应该遵循的原则:
-更小的通常更好
-简单就好:mysql内建的类型而不是字符串来存储时间。整数比字符串操作代价低
-尽量避免null:
-使用枚举代替字符串类型
-datetime和timestamp:除了特殊情况之外,应该尽量使用timestamp,前者占8个字节,后者4个字节

2.范式:
1.第一范式(确保每列保持原子性)

第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。

第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。

上表所示的用户信息遵循了第一范式的要求,这样在对用户使用城市进行分类的时候就非常方便,也提高了数据库的性能。

2.第二范式(确保表中的每列都和主键相关)

第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

3.第三范式(确保每列都和主键列直接相关,而不是间接相关)

第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

服务器的性能检测:
1.profiling关键字
2.explian
3.服务器慢查询日志

阅读全文
0 0
原创粉丝点击