无论如何,在MySQL中是否有优先级或油门的查询?

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

澄清:

我意识到MySQL有内置的设施来限制查询数量,连接等。但是这些并不是真正的问题,这是一旦在蓝色的月亮中,用户就会发送一个不优化的查询,我需要为它计时出去或类似的东西。

有帮助吗?

解决方案

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

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

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

帐户每小时可以发出的更新数量

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

附加信息 -

MySQL没有查询超时值,也没有任何其他内置的方式来节省单个查询。但是,写一个会杀死长期查询的脚本是很微不足道的。您甚至可以捕获用户和查询,以便以后可以击败有问题的用户/程序员。

这里 是使用Perl的一个例子。

其他提示

我知道phpmyadmin具有每小时最大查询#的区域,最大每小时更新,每小时最大连接#以及每个用户的用户连接的最大值。除了phpmyadmin以外,可能还有其他方法可以设置这些值

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top