Subject | Table size on disk - how to find? |
---|---|
Author | PenWin |
Post date | 2006-08-02T10:46:36Z |
Hi!
I would like to reduce the size of my Firebird 1.5 database. In order to do
that I need to know on which tables I should focus. Is there some way to
find out how much space is a table and its associated metadata (such as
indexes) taking up? I thought I could get at least the data size (not index
size) by reading a number of pages from RDB$PAGES and multiplying it with
page size, but the results seem to be way off ("SELECT count(*) FROM
rdb$pages" only lists about 600 pages for a 700+ MB database with page size
of 4 KB). Is there some better way? I only need to do this once or twice, so
a standalone application that would list this information for me would be
just fine, although I would prefer to be able to read this information from
the database from my application.
Thanks,
Pepak
I would like to reduce the size of my Firebird 1.5 database. In order to do
that I need to know on which tables I should focus. Is there some way to
find out how much space is a table and its associated metadata (such as
indexes) taking up? I thought I could get at least the data size (not index
size) by reading a number of pages from RDB$PAGES and multiplying it with
page size, but the results seem to be way off ("SELECT count(*) FROM
rdb$pages" only lists about 600 pages for a 700+ MB database with page size
of 4 KB). Is there some better way? I only need to do this once or twice, so
a standalone application that would list this information for me would be
just fine, although I would prefer to be able to read this information from
the database from my application.
Thanks,
Pepak