文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  其他优化技巧

10.2.7 其他优化技巧

本节列出了一些提高查询处理速度的杂项技巧

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

  • 要解决使用ARCHIVE表发生的任何压缩问题,请使用OPTIMIZE TABLE。请参阅第 18.5 节“ARCHIVE 存储引擎”

  • 如果可能,将报告分类为“实时”或“统计”,其中统计报告所需的数据仅从定期从实时数据生成的汇总表中创建。

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

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

  • 如果您需要非常高的速度,请查看低级 MySQL 接口。例如,通过直接访问 MySQLInnoDBMyISAM存储引擎,与使用 SQL 接口相比,您可以获得显着的速度提升。

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

  • 复制可以为某些操作带来性能优势。您可以在副本之间分发客户端检索以分担负载。为了避免在进行备份时降低源的速度,您可以使用副本进行备份。请参阅第 19 章“复制”