---
id: post/aardvarklabs-blog/2722
type: post
title: "Truncate vs. DeleteAll: Speed in Dynamics 365 Business Central AL"
summary: The new Truncate AL method in Business Central 2025 Wave 2 deletes large data volumes 118 times faster than DeleteAll by bypassing triggers and event subscriptions, but only works on specific table types without certain field types or security restrictions.
tier: community
language: en
tags:
  - al methods
  - performance
  - data deletion
  - bulk operations
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T01:58:56.091Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-post: 1
  input_hash: 9ea5a9274143d815448d611978d47142751d7990426d42e5e7a81cd49d94ef45
evidence:
  - kind: blog
    url: https://aardvarklabs.blog/2025/10/10/truncate-vs-deleteall-speed-in-dynamics-365-business-central-al/
    title: "Truncate vs. DeleteAll: Speed in Dynamics 365 Business Central AL"
    date: "2025-10-10"
    commit: null
    t: null
    quote: null
  - kind: blog
    url: https://aardvarklabs.blog/2025/10/10/truncate-vs-deleteall-speed-in-dynamics-365-business-central-al/
    title: "Truncate vs. DeleteAll: Speed in Dynamics 365 Business Central AL"
    date: "2025-10-10"
    commit: null
    t: null
    quote: Truncate, the new kid on the block, comes in at a blistering 166 milliseconds. 118 times faster than Delete All!
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
post_id: "2722"
source_id: aardvarklabs-blog
source_name: Aardvark Labs
url: https://aardvarklabs.blog/2025/10/10/truncate-vs-deleteall-speed-in-dynamics-365-business-central-al/
published_at: "2025-10-10T12:00:00.000Z"
author: Marcel Chabot
full_text: false
words: 426
quotes:
  - text: Truncate, the new kid on the block, comes in at a blistering 166 milliseconds. 118 times faster than Delete All!
    why_it_matters: Demonstrates the dramatic performance improvement of Truncate over existing deletion methods for large data volumes
code_objects_mentioned:
  - table ARD_ItemStaging
systems:
  - development
versions_mentioned:
  - 2025 Release Wave 2
  - Version 27.0
preview:
  embeddable: true
  frame_url: https://aardvarklabs.blog/2025/10/10/truncate-vs-deleteall-speed-in-dynamics-365-business-central-al/embed/
  image: https://aardvarklabs.blog/wp-content/uploads/2025/10/40f6eae8-0623-46bb-a508-aa4c77ee9661.jpeg
  image_alt: null
  image_w: 1024
  image_h: 1024
  site_name: Aardvark Labs
  favicon: https://aardvarklabs.blog/wp-content/uploads/2024/04/design-1.png?w=32
  probed_at: "2026-10-07T11:51:29.088Z"
---

# Truncate vs. DeleteAll: Speed in Dynamics 365 Business Central AL

[Read the post](https://aardvarklabs.blog/2025/10/10/truncate-vs-deleteall-speed-in-dynamics-365-business-central-al/) · Aardvark Labs (Marcel Chabot) · 2025-10-10 · 426 words · tier community · reviewed (checked by Opus)

> The new Truncate AL method in Business Central 2025 Wave 2 deletes large data volumes 118 times faster than DeleteAll by bypassing triggers and event subscriptions, but only works on specific table types without certain field types or security restrictions.

## Key points

- Truncate deletes 500,000 records in 166 milliseconds versus 19.5 seconds for DeleteAll and 648 seconds for Record.Delete in a loop
- Truncate cannot be used on tables with OnDelete triggers, event subscriptions, media fields, system tables, or when security filters apply
- A fail-through delete pattern is recommended to use Truncate first and fall back to DeleteAll if it fails
- Truncate locks the entire table during operation, which is why it achieves such speed by bypassing row-by-row processing

## Quotes

- "Truncate, the new kid on the block, comes in at a blistering 166 milliseconds. 118 times faster than Delete All!" (Demonstrates the dramatic performance improvement of Truncate over existing deletion methods for large data volumes)

## AL objects mentioned

As named in the post. A name that matches one object page by exact type and name links to it; the others stay as named.

- table "ARD_ItemStaging"

Not found in BC28-30: table "ARD_ItemStaging".

## Context

- Features: Truncate method, DeleteAll method, Record.Delete, data deletion, bulk delete operations, table locking
- Versions: 2025 Release Wave 2, Version 27.0

Source: Aardvark Labs, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.
