laptop and a wrench

不具合

Running arcpy.management.SelectLayerByAttribute through multiple iterations, when the input is a feature class or table, results in each iteration being slower than the previous iteration.

最後に公開された状態: February 22, 2023 ArcGIS Pro
不具合 ID 番号 BUG-000153589
送信されましたNovember 9, 2022
最終更新日October 14, 2025
適用対象ArcGIS Pro
見つかったバージョン3.0.2
オペレーティング システムWindows OS
オペレーティング システムのバージョン10.0 64 Bit
ステータスAs Designed

参考情報

Using the dataset instead of a layer as an input to the SelectBy tools is for convenience reasons. But it incurs some performance problems, as captured and explained in this issue. If performance is a concern, see the workaround. When a dataset is passed as an input to the SelectBy tools, the first step is to generate a unique layer name. The heuristic is to create a layer based on the input name and if the layer exists, add an incrementing numeric value. So if the input dataset is 'city.shp', the tool generates 'cityLayer' in the first loop. The second loop also generates 'cityLayer' but as this returns 'True' to the existence check, the name of the layer is renamed to 'cityLayer1'. The third loop hits two name collisions before settling on 'cityLayer2',  and so on. By the 100th iteration, we have 99 existence checks returning 'True', allowing to settle on 'cityLayer99'. The slowdown in the later parts of the iteration is due to this.

対処法

Use arcpy.management.MakeFeatureLayer to create a feature layer to be used as an input for arcpy.management.SelectLayerByAttribute. Refer to the following ArcMap documentation for more information: https://desktop.arcgis.com/en/arcmap/latest/tools/data-management-toolbox/select-layer-by-attribute.htm

再現の手順

不具合 ID: BUG-000153589

ソフトウェア:

  • ArcGIS Pro

バグのステータスが変更されたときに通知を受け取る

Esri Support アプリのダウンロード

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動