热搜: 照明 机械 电子
 

合肥信息技术培训中大规模数据库性能调优的常用方法

来源:互联网

数据库优化我们在前面的文章中向您介绍了许多传统的优化方法。今天,我们在大规模数据库领域分享优化方法。让我们一起了解一下具体情况。

1.InnoDB被选为存储引擎

大型产品的数据库要求高可靠性和并发性。InnoDB作为默认的MySQL存储引擎,是比MyISAM更好的选择。

优化数据库结构

组织数据库的模式、表和字段,以减少输入/输出开销,将相关项目放在一起,并提前计划,以便随着数据量的增加,性能可以保持在较高的水平。

设计数据表应尽量减少其占用的空间,并且表的主键应尽可能短。

对于InnoDB表,主键所在的列可在每个辅助索引条目中复制,因此如果有许多辅助索引,一个短的主键可以节省大量空间。

仅创建提高查询性能所需的索引。索引有助于检索,但会增加插入和更新操作的执行时间。

2.创新数据库的变化缓冲特性

InnoDB提供了一种更改缓冲的配置,以减少维护辅助索引所需的磁盘I/O。大型数据库可能会遇到大量的表操作和大量的输入/输出,以确保辅助索引保持新的状态。当相关页面不在缓冲池中时,InnoDB的changebuffer会将缓存更改为辅助索引条目,从而避免了因无法立即从磁盘读取页面而导致的耗时的输入/输出操作。当页面加载到缓冲池中时,缓冲的更改将被合并,更新的页面将被刷新到磁盘。这提高了性能,适用于MySQL5.5和更高版本。

3.InnoDB页面压缩

InnoDB支持表的页面级压缩。当写一个数据页时,会有一个特定的压缩算法来压缩它。压缩的数据将被写入磁盘,其打孔机制将释放页面末尾的空块。如果压缩失败,数据将按原样写入。表和索引都是压缩的,因为索引通常占数据库总大小的很大一部分。压缩可以显著节省内存、输入/输出或处理时间,从而达到提高性能和可扩展性的目的。它还减少了内存和磁盘之间传输的数据量。MySQL5.1和更高版本支持此功能。

请注意,页面压缩不支持共享表空间中的表。共享表空间包括系统表空间、临时表空间和常规表空间。

4.使用批处理数据导入

使用主键上的排序数据源导入批处理数据可以加快数据插入过程。否则,可能需要在其他行之间插入行来保持排序,这将导致更高的磁盘I/O,从而影响性能并增加页面分割。关闭自动提交模式也是有益的,因为它会在每次插入时将执行日志刷新到磁盘。

5.优化存储结构

对于大型表或包含大量重复文本或数字数据的表,请考虑使用压缩行格式。这样,将数据提取到缓冲池或执行全表扫描所需的输入/输出就更少了。

一旦您的数据达到稳定的大小,或者增长的表增加了几十或几百兆字节,您应该考虑使用OPTIMIZETABLE语句来重新组织表并减少浪费的空间。对重组后的表进行全表扫描所需的输入/输出更少。

6.优化创新磁盘输入/输出

增加InnoDB缓冲池的大小允许从缓冲池访问查询,而不是通过磁盘输入/输出.通过调整系统变量innodb_flush_method,缓冲区清除指数被调整为超频。

[免责声明] :此内容在互联网上复制用于传输信息。文章的内容是作者的个人意见。该平台对文章中的陈述和意见保持中立,不为内容的准确性、可靠性和完整性提供正式保证。读者只需参考。

 
 
 
推荐图文
 
网站首页| 使用协议| 网站地图|