2. CHUNK大小,是BLOB分配大小的单位。
修改方法是修改dbtune中的
ST_GEOM_LOB_STORAGE " STORE AS ( ENABLE STORAGE IN ROW CHUNK 8K PCTVERSION CACHE ) "
选项。
表空间分离策略
ArcSDE在存储FeatureClass的时候,是将相关信息分别存储在了B表和S表中,其中B表是存储实际数据的,而S表是用来存储索引信息的,因此最好是将两个表分别存储到不同的介质上比较合理一些。
具体修改如下:
DBTUNE
•DB2
UI_TEXT “User Interface text for DEFALUTS"
B_RUNSTATS "YES"
B_STORAGE "in regtbs INDEX in idxtbs LONG IN lobtbs"
•Oracle:
UI_TEXT "User Interface text for DEFAULTS"
S_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE S_TBS"
GEOMETRY_STORAGE "ST_GEOMETRY“
B_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE B_TBS“
B_INDEX_ROWID "PCTFREE 0 INITRANS 4 NOLOGGING INDEX_TBS“
接下来是索引策略:
索引对象只有一个功能,那就是加快数据的检索的速度,当然了建立索引并不是会加快所有操作的速度,如全图显示的时候,索引是不会加快处理的速度。只有你访问到的数据是总数据量的5%以下的时候才有可能会使用索引。
索引非为属性索引和空间索引:
对于属性索引很多人已经非常熟悉了,在此不进行详细的介绍了,至于空间索引在
http://blog.csdn.net/liufeng1980423/category/779418.aspx系列中有非常详细的介绍,在此就不啰嗦了。
下面主要讲一下空间索引的策略,也就是说如何评估我们所建立的空间索引是否合理,
对于网格索引:
针对于oracle数据库,arcsde提供了sdelayer –o si_stats来对已经建立好的索引信息进行统计,具体该命令的详细使用可以查看我的另外一篇博客:
http://blog.csdn.net/liufeng1980423/archive/2011/03/24/6273915.aspx
针对于DB2数据库,arcsde所提供的sdelayer –o si_stats就不支持了,但是db2 spatial extender 提供了另外一个比sdelayer命令更强大的工具,为gseidx,它不但可以统计已建立索引的信息,而且还可以在没建立网格索引的时候统计各种网格大小的统计值,具体gseidx的使用方法可以参考我的另外一篇博客:
http://blog.csdn.net/liufeng1980423/archive/2011/01/10/6126989.aspx
针对完后的统计信息,可以按照下面的标准来优化你的网格索引:
1. 网格的记录数除以地物的记录数要小于2。
2. 一个网格中所包括的地物的个数适当的低一些,在100-300个是最好的,一个网格中包括的地物的最大个数最好不要超过4000。
3. 每个地物尽量不要跨网格,如果有20%的地物横跨网格,网格大小需要调整。
属性索引:
在查询中对经常使用的属性字段创建索引,索引是指向表记录的指针,可以提高查询性能,减少全表扫描,因此可以提高数据库整体的性能,因此在设计阶段需要对每个索引进行严格的性能测试。