3

我正在阅读这篇文章: 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 权限以符合上述文本中的建议。
4

1 回答 1

0

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

-- 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;

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

于 2012-06-20T18:08:48.030 回答