MySQL学习笔记(四)性能优化2

MySQL学习笔记(四)性能优化2

1.高效的模型设计

(1)适度冗余,让查询尽量减少Join

将别的表的数据拿出来一部分放在自己表里面,比如:发布信息表里面不仅保存用户ID,同时保存一份nickname

(2)大字段垂直拆分

把字段拆分出来放在另外一张表里面,比如:一些大字段,文章额内容,产品介绍等,还有访问不频繁的数据

(3)大表水平拆分

把表中不分数据拿出来单独放在一张表里面,比如:将置顶信息单独拿出来放在一张表里面,因为要经常访问

(4)统计表 准实时优化

定时统计,比如:比如积分排名啊。

2.合理的数据类型

1.通过更小的数据类型存放数据;

2.通过合适的数据类型加速数据的比较,如通过整数替代浮点数

3.规范的对象命名

一般来说,我个人建议需要注意以下一些方面:
1、数据库和表名应尽可能和所服务的业务模块名一致;
这样,在DBA 维护相关数据库对象的时候,新开发人员程序开发过程中,相关技术(或非技
术)人员整理业务逻辑和数据关系的时候,都能够非常容易理解其中的关系。
2、服务于同一子模块的一类表尽量以子模块名(或部分单词)为前缀或后缀;
对同类功能的表增加前缀或者后缀,也是让查看使用该表的各类人员能够很快的根据相关对象
的名称就联想到相应的功能,以及相关业务。不论是从维护角度,还是从使用角度来看都会带来非
常大的便利性。
3、表名应尽量包含与所存放数据相对应的单词;
这对于新员工来说尤其重要,要想尽快的熟悉数据,尽快了解相关业务,快速的定位数据库中
各表对应的数据意义是非常有帮助的。
4、字段名称也尽量保持和实际数据相对应
这一点的意义我想各位读者朋友应该都非常的清楚,每个表都会有很多的字段对应数据的各种
不同属性,要搞清楚各自代表的含义,除了完整规范的说明文档之外,命名清晰合理的字段名也是
一个有用的补充,而且更为直接。
5、索引名称尽量包含所有的索引键字段名或者缩写,且各字段名在索引名中的顺序应与索引键在
索引中的索引顺序一致,且尽量包含一个类似于idx 或者ind 之类的前缀或者后缀,以表名
其对象类型是索引,同时还可以包含该索引所属表的名称;
这样做最大的好处在于DBA 在维护过程中能够非常直接清晰的通过索引名称就了解到该索引大
部分的信息。
6、约束等其他对象也应该尽可能包含所属表或其他对象的名称,以表名各自关系
阅读更多
个人分类: JavaWeb
上一篇MySQL学习笔记(三)性能优化1
下一篇MySQL学习笔记(五)扩展性设计之Replication
想对作者说点什么? 我来说一句

mysql 性能优化

2011年04月11日 3.05MB 下载

mysql高级开发

2018年05月29日 38.86MB 下载

Mysql性能优化 MYSQL

2011年05月27日 12KB 下载

caoz的mysql性能优化教程

2018年06月24日 493KB 下载

品悟性能优化pdf

2018年02月26日 71.68MB 下载

mysql优化,mysql优化

2010年05月09日 42KB 下载

mysql 个人学习笔记

2010年06月07日 12.56MB 下载

没有更多推荐了,返回首页

关闭
关闭