您好,欢迎访问一九零五行业门户网

查询Oracle数据库存储的要素类、空间索引、属性索引大小

有些用户会有这样的疑问,我以文件形式(不管是gdb还是shapefile)都是有物理大小的,但是我怎么知道在arcsde数据库里面存储某个图层的物理大小,以及相关的索引大小? 关于arcsde内部的索引机制可以参考 http://blog.csdn.net/linghe301/archive/2011/03/23/
有些用户会有这样的疑问,我以文件形式(不管是gdb还是shapefile)都是有物理大小的,但是我怎么知道在arcsde数据库里面存储某个图层的物理大小,以及相关的索引大小?
关于arcsde内部的索引机制可以参考
http://blog.csdn.net/linghe301/archive/2011/03/23/6269847.aspx
举个例子:假如我查询一个要素类名称为:fw2的图层
1:查询该图层的属性索引名称
sql> select index_name from user_indexes where table_name='fw2';index_name------------------------------r541_sde_rowid_uksys_il0000085622c00027$a372_ix1
由上面可以获得r541_sde_rowid_uk为属性索引名称
2:查询该属性索引的存储大小
sql> select bytes from user_segments where segment_name='r541_sde_rowid_uk'; bytes---------- 393216sql> select bytes/1024/1024 as property_index_mb from user_segments where segment_name='r541_sde_rowid_uk';property_index_mb----------------- .375
3:查询该图层的存储大小
sql> select bytes/1024/1024 as table_mb from user_segments where segment_name='fw2'; table_mb---------- 6sql> select bytes from user_segments where segment_name='fw2'; bytes---------- 6291456
4:查询空间索引的存储大小
首先获得该图层的geom_id
sql> select geom_id from sde.st_geometry_columns where table_name='fw2'; geom_id---------- 440 
根据该id获得空间索引的名称,一般空间索引名称以's$_ix1'
sql> select bytes/1024/1024 as spatialindex_mb from user_segments where segment_name='s440$_ix1' spatialindex_mb ---------- 4sql> select bytes as spatialindex_mb from user_segments where segment_name='s440$_ix1'; spatialindex_mb ---------- 4194304
其它类似信息

推荐信息