What is the fastest way to delete 1000000 records in cmdb (incl cascade deletes) ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-10-2015 05:23 AM
However some records should NOT be deleted?
Using a background script and deleting with deleteMultiple() runs 20 minutes to delete 100 records! It must be possible to do that faster even with cascade deletes.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-10-2015 05:29 AM
Check out the doit background script: wiki Remove All Data from a Table - ServiceNow Wiki
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-10-2015 05:33 AM
That is exactly how I do it but it is just too slow.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-10-2015 11:32 PM
Hi Tommy,
You need to turn workflow to false when doing mass deletes:
http://wiki.servicenow.com/index.php?title=GlideRecord#setWorkflow&gsc.tab=0
So something like this should do it:
var gr = new GlideRecord('cmdb_ci');
gr.addQuery('<a condition>');
gr.query();
gr.setWorkflow(false);
gr.deleteMultiple();
Even so, don't expect it to be super fast as it takes a while to do cascade deletes.
Regards,
Sergiu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-11-2015 12:32 AM
I believe setWorkflow calls are ignored when doing a deleteMultiple() or deleteRecord()
Note:When using deleteMultiple() to cascade delete, prior calls to setWorkflow() on the same GlideRecord object are ignored.
Note: Dot-walking is not supported for this method. When deploying the deleteMultiple() function on referenced tables, all the records in the table will be deleted. Also, when using deleteRecord() to cascade delete, prior calls to setWorkflow() on the same GlideRecord object are ignored.
source: GlideRecord - ServiceNow Wiki
Thanks,
Berny