为什么在小型数据集上进行简单联接会严重降低ArcMap的速度?


13

ArcGIS 9.3.1,ArcInfo。我有一些小型文件地理数据库和SDE要素类(每个实体有几千条记录,每列50列),它们是属性联接的对象。连接后,地图的绘制每次都会从亚秒级减慢到几秒,有时甚至更长。添加一些定义查询,这些查询引用了联接中的字段,是时候重绘时喝杯咖啡了。有什么想法为什么会这样?其他人曾经经历过吗?


6
您的联接字段被索引了吗?
Derek Swingley,2010年

不,它们没有索引。
乍得·库珀2010年

9
要回答您的最后一个问题,乍得:是的,我在每个版本的ArcGIS上都遇到了较差的联接性能。过去十年来,计算速度的巨大进步仍然无法跟上每个新版本性能的常规下降。这是我不能将其用于分析工作的主要原因之一。(对于制图工作,则是另外一个故事。)
胡夫(Shuuber)

@Swingley的问题可能是您的问题的答案。加入非索引列将严重减慢速度。只需在该字段上创建索引,您就可以大大提高速度。您可能还需要将事物从文件地理数据库移至SDE。访问并不是解决问题的最快方法,因此切换到SqlServer或Oracle也可以帮助您解决速度问题。
迈克尔·托德

2
@Jay:是的,Swingley是第一个将钥匙石固定到位的工具,并为此赢得了3票赞成票,但是您走得更远并描述了一种方法。每个人都赢。:)我们不仅要寻求正确答案,而且还要寻求最佳答案。并非总是同时在单个容器中找到它们。
马特·威尔基

Answers:


10

我经常需要加入另一个depts要素类:SDE要素类,没有任何索引。

复制到本地文件地理数据库+索引构建确实可以加快速度。

由于它是临时的,因此我通常会在RAM磁盘http://t.co/EBTeOem上进行此操作。

根据您的数据,用于符号化的索引字段或定义查询中使用的字段会有所帮助。


从来没有想过索引符号系统所基于的字段。您是否发现这样可以提高地图重绘/刷新的渲染性能?
乍得·库珀2010年

我将修改答案-用于渲染的索引字段在每种情况下都无济于事,而且我不确定是否对文件地理数据库有所帮助。根据我对过去sde要素类的执行情况的记忆(使用se_toolkit),这更多是一种习惯。
杰·康明斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.