Tim*_*ell 7 mysql throttling query-optimization
无论如何,在MySQL中根本没有优先考虑或限制查询?
我是服务器上的DBA,看到很多未经优化的查询进入服务器,它们只会破坏CPU.我正在考虑限制以不良方式攻击数据库的某些用户.
澄清:
我意识到MySQL内置了一些设施来限制查询,连接等数量.但这些并不是真正的问题,只是在一个蓝色的月亮中,用户将发送一个未经优化的查询,我需要计时出类似的东西.
http://dev.mysql.com/doc/refman/4.1/en/user-resources.html
从 MySQL 4.0.2 开始,您可以限制个人帐户对以下服务器资源的访问:
一个账户每小时可以发出的查询数
帐户每小时可以发出的更新数
一个账户每小时可以连接到服务器的次数
附加信息 -
MySQL 没有查询超时值,也没有任何其他内置方式来限制单个查询。然而,编写一个脚本来终止长时间运行的查询是非常简单的。您甚至可以捕获用户和查询,以便您以后可以击败有问题的用户/程序员。
这是一个使用 PERL 的示例。