暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU 翻译 ] MySQL 8.2.7其他优化技巧

原创 由迪 2021-04-30
349

本节列出了许多提高查询处理速度的技巧:

  • 如果您的应用程序发出多个数据库请求以执行相关更新,则将这些语句组合到存储的例程中可以提高性能。同样,如果您的应用程序根据多个列值或大量数据计算单个结果,则将计算结果合并到UDF(用户定义的函数)中可以提高性能。然后,所产生的快速数据库操作可用于其他查询,应用程序,甚至是用不同编程语言编写的代码,也可以重用。有关更多信息请参见 第25.2节“使用存储的例程”向MySQL添加函数

  • 要解决ARCHIVE表出现的任何压缩问题 ,请使用 OPTIMIZE TABLE。请参见 第16.5节“ ARCHIVE存储引擎”

  • 如果可能的话,分类报告,作为“活的”或 “统计”,在需要的地方进行统计报表数据仅来自从实际数据定期产生的总结表中创建。

  • 如果您的数据与行和列的表结构不一致,则可以将数据打包并将其存储到BLOB列中。在这种情况下,您必须在应用程序中提供代码以打包和解压缩信息,但这可能会节省I / O操作以读取和写入相关值集。

  • 对于Web服务器,将图像和其他二进制资产存储为文件,路径名存储在数据库中,而不是文件本身。大多数Web服务器比文件内容在缓存文件方面更胜一筹,因此使用文件的速度通常更快。(尽管在这种情况下,您必须自己处理备份和存储问题。)

  • 如果您确实需要很高的速度,请查看底层的MySQL接口。例如,通过直接访问MySQL InnoDBMyISAM存储引擎,与使用SQL接口相比,可以大大提高速度。

    同样,对于使用NDBCLUSTER存储引擎的数据库 ,您可能希望研究NDB API的可能用法(请参阅《 MySQL NDB Cluster API开发人员指南》)。

  • 复制可以为某些操作提供性能优势。您可以在副本之间分配客户端检索,以分散负载。为了避免在备份时降低源速度,可以使用副本进行备份。请参见第17章,复制

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论