Skip to main content

34.其他优化技巧

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

如果应用程序发出多个数据库请求来执行相关更新,则将这些语句组合到存储例程中可以提高性能。 同样,如果应用程序根据多个列值或大量数据计算单个结果,则将计算组合到可加载函数中可以提高性能。 由此产生的快速数据库操作可供其他查询、应用程序甚至用不同编程语言编写的代码重用。

要修复 ARCHIVE 表出现的任何压缩问题,请使用 OPTIMIZE TABLE。

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

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

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

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

同样,对于使用 NDBCLUSTER 存储引擎的数据库,可能希望研究 NDB API 的可能使用。

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