Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Other Optimization Tips

10.2.7 其他优化Tips

本节列举了一些改进查询处理速度的杂项tips:

  • 如果您的应用程序执行多个数据库请求以进行相关更新,结合语句到存储例程中可以提高性能。类似地,如果您的应用程序根据多个列值或大量数据计算单个结果,将计算组合到可加载函数中也可以提高性能。这样产生的快速数据库操作随后可以被其他查询、应用程序和不同编程语言中的代码重用。请参阅第27.2节,“使用存储例程”将函数添加到MySQL中以获取更多信息。

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

  • 如果可能,请将报告分类为livestatistical

  • 如果您有不适合行和列结构的数据,可以将数据打包并存储到BLOB 列中。在这种情况下,您需要在应用程序中提供代码来打包和解包信息,但这可能会减少读取和写入相关值集的I/O操作。

  • 使用 Web 服务器时,存储图像和其他二进制资产为文件,并将路径名称存储在数据库中,而不是文件本身。大多数 Web 服务器都更好地缓存文件,而不是数据库内容,因此使用文件通常速度更快。(尽管您需要自己处理备份和存储问题。)

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

    类似地,对于使用NDBCLUSTER 存储引擎的数据库,您可能想调查 NDB API 的可能用途(见MySQL NDB 集群 API 开发指南)。

  • 复制可以为某些操作提供性能优势。您可以将客户端检索分布在副本中以分配负载。为了避免在备份时 slows down 源,您可以使用副本进行备份。见Chapter 19, Replication.