优化数据库对象

2019-10-10  本文已影响0人  安静点就睡吧

1. 优化表的数据类型

数据类型的选择,重点在于合适二字,如何确定选择的数据类型是否合适可参考如下:

选取正确的数据类型,对于提高性能至关重要,下面给出几种原则,有利于帮助你选择何种类型。

2. 通过拆分提高表的访问效率

这里所说的“拆分”,是指对数据表进行拆分。如果针对 MyISAM 类型的表进行拆分,那么有两种拆分方法。

3. 反规范化

反范式化是指为了查询效率的考虑把原本符合第三范式的表适当的增加冗余,已达到优化查询效率的目的,反范式化是一种以空间来换取时间的操作。

反规范化的好处是降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,相应带来的问题是出现数据的完整性问题。加快查询速度,但会降低修改速度。因此决定做反规范化时,一定要权衡利弊,仔细分析应用的数据存取需求和实际的性能特点,好的索引和其它方法能够解决性能问题,而不必采用反规范化这种方法。

在进行反规范化操作之前,要充分考虑数的存取需求、常用表的大小、一些特殊的计算(例如合计)、数据的屋里存储位置等。常用的反规范化技术有增加冗余列、增加派生列、重新组表和分割表。

另外,反规范化技术需要维护数的完整性。不论使用何种反规范化技术,都需要一定的管理来维护数据的完整性,常用的方法是批处理维护、应用逻辑和触发器。

4. 使用中间表提高统计查询速度

对于数据量较大的表,在其上进行统计查询通常会效率很低,并且还要考虑统计查询是 否会对在线的应用产生负面影响。通常在这种情况下,使用中间表可以提高统计查询的效率。

中间表优点如下:

章节内容来自《深入浅出MySQL》,本内容作为个人笔记记录,同时因为PROCEDURE ANALYZE()已经废弃移除了,所以没有收录进来,同时还参考了博客:

Mysql表结构优化

MySQL表结构的优化和设计

上一篇 下一篇

猜你喜欢

热点阅读