MySQL 8.0 官方文档 第八章 优化(三十二)—— 优化数据库权限和其他优化提示

目录

第八章 优化(三十二)—— 优化数据库权限和其他优化提示

8.2 优化SQL语句

8.2.6 优化数据库权限

权限设置越复杂,适用于所有SQL语句的开销就越大。简化GRANT语句所建立的权限使MySQL能够减少客户端执行语句时的权限检查开销。例如,如果不设置任何表级或列级权限,则服务器就不需要检查tables_privcolumn_priv表的内容。类似地,如果没有对任何帐户设置资源限制,服务器就不必执行资源计数。如果语句处理负载很高,请考虑使用简化的授权结构来减少权限检查开销。

8.2.7 其他优化提示

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

  • 如果应用程序向多个数据库发出请求以进行相关更新,则把该语句合并到存储过程中有助于性能提升。类似地,如果应用程序基于多个列值或巨大数据量进行单值结果的计算,则把该计算合并到可加载的函数中有助于性能提升。由此产生的快速数据库操作可供其他查询、应用程序甚至用不同编程语言编写的代码中加以重用。更详细的信息,参见第25.2节MySQL的“使用存储过程”和添加函数。

  • 若要修复ARCHIVE(归档)表时出现的任何压缩问题,请使用OPTIMIZE TABLE。参见16.5节,“归档存储引擎”。

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

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

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

  • 如果您真的需要更高的速度,则查看底层的MySQL接口。例如,通过直接访问MySQL InnoDB或MyISAM存储引擎,可以获得比使用SQL接口更大的速度提升。
    类似地,对于使用NDB集群存储引擎的数据库,你可能希望研究使用NDB应用程序接口的可能性(参见MySQL NDB集群API开发指南)。

  • 复制可以为某些操作提供性能优势。您可以将客户端检索分发到多个副本中,以分散负载。为了避免在进行备份时减慢源数据库的速度,可以使用副本进行备份。参见第17章,复制。


上一集 MySQL 8.0 官方文档 第八章 优化(三十一)—— 优化数据更改语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值