【问题标题】:How to throttle or prioritize a query in MySql如何在 MySql 中限制或优先考虑查询
【发布时间】:2011-03-09 05:46:33
【问题描述】:

到底有没有在 MySQL 中确定查询的优先级或限制查询?

我是服务器上的 DBA,看到许多未优化的查询进入服务器,它们只会破坏 CPU。我正在考虑限制某些以不良方式访问数据库的用户。

澄清:

我意识到 MySQL 内置了一些功能来限制查询、连接等的数量。但这并不是真正的问题,而是一旦用户发送未优化的查询,我需要超时或类似的东西。

【问题讨论】:

  • “油门”是指窒息吗?我有时也有这种感觉……

标签: mysql query-optimization throttling


【解决方案1】:

http://dev.mysql.com/doc/refman/4.1/en/user-resources.html

从 MySQL 4.0.2 开始,您可以限制单个帐户对以下服务器资源的访问:

一个帐户每小时可以发出的查询数

一个帐户每小时可以发布的更新数量

账户每小时可以连接服务器的次数

附加信息 -

MySQL 没有查询超时值,也没有任何其他内置方式来限制单个查询。但是,编写一个会杀死长时间运行的查询的脚本是非常简单的。您甚至可以捕获用户并进行查询,以便稍后击败冒犯的用户/程序员。

Here 是使用 PERL 的示例。

【讨论】:

  • 感谢您的信息,请参阅原始问题中的说明。
【解决方案2】:

我知道 phpMyAdmin 有一个区域用于每小时最大查询数、每小时最大更新数、每小时最大连接数和每个用户的最大用户连接数。除了 phpMyAdmin 之外,可能还有其他方法可以设置这些值

【讨论】:

  • 感谢您的信息,请参阅原始问题中的说明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-13
  • 1970-01-01
  • 2019-09-20
  • 2012-05-28
  • 2023-03-15
  • 1970-01-01
相关资源
最近更新 更多