如何限制 DBeaver 数据编辑器以限制结果集大小?

Posted

技术标签:

【中文标题】如何限制 DBeaver 数据编辑器以限制结果集大小?【英文标题】:How can I limit DBeaver Data Editor to limit result set size? 【发布时间】:2020-03-04 13:47:01 【问题描述】:

我知道默认值为 200,我们可以在“数据编辑器”部分的设置/首选项中对其进行配置,但似乎在所有结果都已从远程数据库获取到本地后才应用此过滤器。

如何在将请求发送到数据库本身之前限制这 200 个?

意思是,我想将 DBeaver 配置为将“Select * from... LIMIT 200”发送到远程,而不是向数据库发出“Select * from...”并在本地设置过滤器的 200 个结果数据库。

【问题讨论】:

【参考方案1】:

通过选中“使用 SQL 限制提取大小”复选框,您应该会得到您想要的效果。

您可以通过查看dBeaver 执行日志中的查询来验证dBeaver 的行为方式是否符合您的预期。您将看到“LIMIT”已附加到您的查询中。

https://github.com/dbeaver/dbeaver/wiki/SQL-Editor#results-panel

可能值得注意的是,如果您想保证 LIMIT 始终选择设置数量的行。除了“使用 SQL 限制提取大小”之外,这两个选项都打开了,当您滚动数据并传递最后一行时,dBeaver 将重新运行完整的结果集。例如,当您第一次执行查询时,它将以“LIMIT 0, 200”运行,返回前 200 行。当您滚动超过第 200 行时,将执行一个新查询,其中包含“LIMIT 0, 400”。当您传递第 400 行时,将使用“LIMIT 0, 600”等运行新查询。

【讨论】:

这对我不起作用。我改为设置 Result Set Fetch Size = 0

以上是关于如何限制 DBeaver 数据编辑器以限制结果集大小?的主要内容,如果未能解决你的问题,请参考以下文章

DBeaver,如何声明变量并使用它们?

如何将 LEFT JOIN 限制为 SQL Server 中的第一个结果?

如何正确实现并发goroutine(和/或限制它们)以产生一致的结果?

如何在闪亮的可编辑数据表中指定文件名并限制列编辑

尝试使用DBeaver同时执行多个查询时,无法与Ignite群集通信

Firestore限制每小时或每天读写一次,以防止用户在检查器中设置计时器