MySQL - 限制(强制)为任何QUERY返回的行数

时间:2012-07-12 18:22:31

标签: mysql

我对mysql有特殊的安全需求。我需要强制限制查询返回的行数,如果返回的行将结束,则发出错误,比如一百万行。这是设置 -

需要 - 数据有数百万行,我们不希望客户端在服务器上运行或完全提取(他们永远不需要所有行,只需聚合这个想法是,如果他们需要它,它们会遇到错误或障碍,然后向我们解释为什么他们需要通过查询拉出这么多行。

系统 - 客户端可以使用任何查询工具,因此我们无法控制生成的查询。因此,我们不能使用Limit x,这似乎是随处可见的解决方案。

我已经尝试过搜索解决方案,现在似乎唯一的方法是在应用程序级别(我们不拥有)。

有没有办法实现这个目标?

设置

1-我们需要启用SSL。

2- MySQL 5.5

谢谢!

J

1 个答案:

答案 0 :(得分:1)

看起来你可能能够接近MySQL Proxy。

https://launchpad.net/mysql-proxy

请参阅此页面以了解操作结果。不确定它是否进行缓冲或无缓冲读取,或者是否可以取消读取结果...

http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy-scripting-read-query-result.html

它是开源的,所以如果需要的话,你也可以聘请别人来调整它。

可能还有其他方法可以限制数据库服务器的重载。请查看此链接以获取更多信息:

MySQL - can I limit the maximum time allowed for a query to run?