【问题标题】:How much does GRANT permission checking affect MySQL performance?GRANT 权限检查对 MySQL 性能有多大影响?
【发布时间】:2012-06-06 09:10:46
【问题描述】:

我正在阅读这篇文章: http://www.ajaxline.com/32-tips-to-speed-up-your-mysql-queries

在第 4 点,它指出:

在发出 GRANT 语句时使用更简单的权限可以启用 MySQL 减少客户端执行时的权限检查开销 声明。

问题:

  1. 这对性能有何影响?
  2. “更简单的权限”是什么意思?例如。如果我有一个拥有所有权限的 root 用户,例如。在数据库上创建或更改表,以及我的 Web 应用程序的“appDbUser”,我应如何向 appDbUser 授予 SELECT、UPDATE、DELETE、INSERT 权限以符合上述文本中的建议。

【问题讨论】:

  • 更简单的权限意味着您没有几个细粒度的每表和每列权限,只有数据库级权限。
  • 个人ID专注于您的安全和业务需求,不必太担心权限检查。将其视为不可避免的运营成本。如果您的权限笨重且复杂,那么当然,请尝试简化它们。但少数权限不会对性能产生巨大影响,尤其是当查询或服务器运行缓慢通常有更重要的原因时。
  • @carpii ,这个问题与我的开发需求无关。出于好奇,我想知道这一点,并了解其背后的机制。

标签: mysql


【解决方案1】:

最简单的方法是对其进行分析并亲自查看....

-- enable profile gathering
SET PROFILING = 1;

SELECT <query involving complex set of column and table permissions>;

SHOW PROFILE

--or SHOW PROFILES, and then SHOW PROFILE FOR QUERY 2 etc

-- turn profiling back off again
SET PROFILING = 0;

这将显示一个表格,显示正在执行的查询的每个阶段以及持续时间。您可能会看到,即使具有相当复杂的权限,与查询的执行、排序和分组相比,时间也并不重要

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2015-07-14
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多