I have been having issues deleting large numbers of features (> 1,000,000) from a feature class in ArcMap. I can't seem to get higher than a few thousand before it freezes indefinitely, sometimes overnight, before crashing.

Selecting the features I need and exporting is not an option here because I have to work within a specific gdb with a predetermined structure, and I'd prefer to just delete the features and not mess with deleting/replacing entire layers.

The layer contains approx. 1.2mil records. It's a file geodatabase.

Any ideas?

  • How are you selecting which features should be deleted? By attribute? By location? Bulk delete of all features that are replaced by a new feature set? Oct 24, 2013 at 21:23
  • 1
    Please edit the question to include the kind of geodatabase (file, personal, workgroup, enterprise). If enterprise, please specify which RDBMS. The total feature count in the table from which you want to delete would be useful as well.
    – Vince
    Oct 24, 2013 at 21:24
  • The features are typically selected by location, sometimes by attribute. I'm dealing with large, worldwide datasets in some cases and have come across this issue before. I typically just select what I need, export it and scrap the old file, but that's not ideal in this case.
    – brock
    Oct 24, 2013 at 21:30
  • What version (ie- 10.0, 10.1, 10.2) of ArcGIS are you using? Are you doing any scripting in ModelBuilder of Python, or just using the "Delete Features" tool in ArcToolbox? Oct 24, 2013 at 21:40
  • 5
    Why not just set a Definition Query to "mask" the features instead of deleting them?
    – PolyGeo
    Oct 24, 2013 at 22:05

2 Answers 2


What I ended up doing was creating a new GDB based on the schema from the old, and exported only the features I needed to the new GDB. Then deleted the old one and changed the filename of the new one to match. Not a tidy solution, but it works. ArcMap is much more amenable to exporting large numbers of features than it is to deleting them for some reason unknown to me.


You could use an UpdateCursor from arcpy to delete the features you want. Such as this

import arcpy
ds = 'c:\\temp\\test.gdb\\testdata'
cur,row = None, None
cur = arcpy.UpdateCursor(ds)
for row in cur:

If you want to select only certain records - use an if statement before the delete in the loop.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.