Firebird - определение размера таблиц


Работает "приблизительно", сильно занижает реальный размер:

SELECT FIRST 10
   rdb$relation_name,
   count(*) as pagecount,
   count(*) * (select mon$page_size from mon$database) / 1024
     as pageKB
FROM rdb$relations
INNER JOIN rdb$pages 
    ON rdb$pages.rdb$relation_id=rdb$relations.rdb$relation_id
WHERE rdb$page_type in (4,5,6,7,8)
GROUP BY 1
ORDER BY 2 DESC, 1 ASC