无论如何,在MySQL中根本没有优先考虑或限制查询?
我是服务器上的DBA,它看到许多未经优化的查询进入服务器,它们只会破坏CPU。我正在考虑限制那些以糟糕的方式打击数据库的用户。
澄清:
我意识到MySQL内置了一些设施来限制查询,连接等数量。但这些并不是真正的问题,只有在蓝色月亮中用户才会发送未经优化的查询,我需要把它计时或类似的东西。
答案 0 :(得分:4)
http://dev.mysql.com/doc/refman/4.1/en/user-resources.html
从MySQL 4.0.2开始,您可以限制对个人帐户的以下服务器资源的访问权限:
帐户每小时可以发出的查询数
帐户每小时可以发布的更新次数
帐户每小时可以连接到服务器的次数
其他信息 -
MySQL没有查询超时值,也没有任何其他内置方法来限制单个查询。但是,编写一个可以终止长时间运行查询的脚本非常简单。您甚至可以捕获用户和查询,以便以后可以击败有问题的用户/程序员。
Here是使用PERL的示例。
答案 1 :(得分:0)
我知道phpMyAdmin有一个每小时最大查询数,每小时最大更新数,每小时最大连接数和每个用户最大用户连接数的区域。除了phpMyAdmin
之外,可能还有其他方法可以设置这些值