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

转载 2012年03月27日 01:17:58

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

1.高效的模型设计

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

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

(2)大字段垂直拆分

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

(3)大表水平拆分

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

(4)统计表 准实时优化

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

2.合理的数据类型

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

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

3.规范的对象命名

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

Unity3D基础篇----Shader学习笔记(4)

这一篇,我们来继续学习Shader中纹理的添加以及实现纹理中凹凸的映射。
  • qq_30501909
  • qq_30501909
  • 2017年06月28日 21:56
  • 266

Oracle学习笔记(四)——上机练习一

1、define命令可以用于定义哪种变量 a、number b、char c、varchar2 d、date 【b】 Host变量主要作用是起到一个替代变量的作用,是主机环境可以和...
  • shangqing1123
  • shangqing1123
  • 2016年04月06日 20:55
  • 609

Oracle学习笔记(4)------------简单查询

学习Oracle感觉有点吃力,于是到网上找了一些学习线路,来有规律的学习,效率能高一些,分享给大家 Concepts                        |                 ...
  • u011225629
  • u011225629
  • 2015年05月26日 12:37
  • 1187

Shader学习笔记4

前两篇写的大多是表面着色器(SurfaceShader),有官方的,网上的,自己写的。自己看着都乱,当做仓库用吧。。。 然后就研究到了顶点和片段着色器,发现很自由,功能很多,但是不能处理光照。还有屏...
  • zzw8866755
  • zzw8866755
  • 2016年09月29日 20:02
  • 158

Nodejs学习笔记(四)

Nodejs用async来处理异步问题: 今天在写mysql数据库操作的时候,发现当我要查询多条sql语句的时候 前一条的语句在后一条语句执行完的时候还没有完成,这个导致很多语句的返回值都是unde...
  • zgq398749824
  • zgq398749824
  • 2016年05月31日 13:54
  • 126

TensorFlow入门(四)——MNIST入门

Softmax回归介绍 softmax回归(softmax regression)分两步:第一步为了得到一张给定图片属于某个特定数字类的证据(evidence),我们对图片像素值进行加权求和。如果这...
  • PinkRiverside
  • PinkRiverside
  • 2017年06月11日 14:08
  • 318

Python学习笔记(5)-多重继承的坑

之前学习了下多重继承,以为领悟到了,没想到实际在项目中傻眼了。 忘了一个关键的地方: 正文 首先得说明的是,Python的类分为经典类 和 新式类 经典类是python2.2之前的...
  • cq361106306
  • cq361106306
  • 2015年01月27日 18:16
  • 809

python学习——多重继承

继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗;Bat - 蝙蝠;Parro...
  • youzhouliu
  • youzhouliu
  • 2016年07月14日 08:32
  • 341

Mysql性能优化之几个实际优化示例

数据库性能优化的文章铺天盖地,但最重要的是把这些恰当的应用到实际生产环境中,本文以真实的优化案例来详细的介绍Mysql数据库方面的先化技巧,主要的优化技术为:(1)把逐个循环的子查询变为一个查询统计语...
  • cpaqyx
  • cpaqyx
  • 2014年12月06日 17:37
  • 2675

Linux netfilter 学习笔记 之四 ip层netfilter的table注册及规则的添加

既然我们都已经将xt_table、rule、match、target的结构体之间的联系都已经分析清楚了,那我们接下来分析表的注册、表中规则的添加、表中规则的删除、表中规则的替换也应该比较容易了。  ...
  • lickylin
  • lickylin
  • 2014年06月22日 19:02
  • 3341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL学习笔记(四)性能优化2
举报原因:
原因补充:

(最多只允许输入30个字)