Answers:
假设标签类上的SQL查询与拆分层上的SQL查询相同,则具有多个标签类的单层方法将更快。为什么?:
ArcMap中的标签将对图层绘制执行一个查询,然后对每个标签类执行一个查询。因此,具有4个标签类的图层将对绘制的所有要素查询一次(1个查询),然后总共查询4次(每个标签类一个或另外4个查询)= 5个查询
如果将各层分开,则每个层将有1个过滤查询(定义查询)(4个查询),而每个标签类将具有相同的查询(另外4个查询)= 8个总查询
在几乎所有情况下,尽管仅取决于查询源,但是5个查询将比8个查询快,尽管它取决于数据源。
请注意,在ArcGIS Server中,缓存用于要素标签,当标签类使用相当标准的SQL而没有供应商特定功能时,极有可能通过一个查询来处理具有4个标签类的1层。
我使用来自SDE连接的一些NHD数据进行了一些非常简单的测试,发现这两种方法之间的差异很小。
一些警告:
我认为定义查询会更快,因为它是在对象级别而不是在属性数据级别。
您仍然需要测试。但是,我将使用定义查询而不是标签类。