如何测量 Firebird 2.1 数据库上 blob 占用的空间量?
我有一个使用 Firebird 2.1 的生产数据库,我需要找出每个表(包括 blob)使用了多少空间。 blob 部分是棘手的部分,因为标准统计报告未涵盖它。
我无法轻松访问服务器桌面,因此安装 UDF 等并不是一个好的解决方案。
我怎样才能轻松做到这一点?
I have a production database, using Firebird 2.1, where I need to find out how much space is used by each table, including the blobs. The blob-part is the tricky one, because it is not covered using the standard statistical report.
I do not have easy access to the server's desktop, so installing UDFs etc. is not a good solution.
How can I do this easily?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用以下语句计算数据库中所有 BLOB 字段的总大小:
You can count total size of all BLOB fields in a database with following statement:
我修改了 Andrej 的代码示例以显示每个 blob 字段的大小,而不仅仅是所有 blob 的总和。
并使用 SET TERM,以便您可以将此片段直接复制并粘贴到 FlameRobin 等工具中。
这个例子不适用于 ORDER BY,也许存在一个没有 EXECUTE BLOCK 的更优雅的解决方案。
I modified the code example of Andrej to show the size of each blob field, not only the sum of all blobs.
And used SET TERM so you can copy&paste this snippet directly to tools like FlameRobin.
This example doesn't work with ORDER BY, maybe a more elegant solution without EXECUTE BLOCK exists.