topic hubPlatform, DevOps & Performanceofficial - Microsoftreviewed - checked by Opus

Indexing data for performance

Indexing data for performance in AL covers SumIndexField Technology (SIFT) and Nonclustered Columnstore Indexes (NCCI) for fast sums over numeric columns. It answers questions about how each works with SQL Server, performance and maintenance trade-offs, tuning and tracing, and migrating from SIFT to NCCI.

Path: Development > Programming in the AL language > Tables and data > Indexing data for performance · tier official · system platform · narrative reviewed (checked by Opus)

Overview

This section deals with two ways to speed up sum calculations on large tables, which matter for FlowFields and queries. SIFT uses SumIndexFields tied to keys and implemented as indexed views in SQL Server. NCCI uses the SQL Server nonclustered columnstore index feature, for analytical queries, with lower maintenance overhead and less database locking than SIFT keys.

Key points

  • SIFT keys create indexed views in SQL Server that use GROUP BY to speed up aggregates on numeric columns.
  • SIFT has a maintenance cost, and the MaintainSIFTIndex property is a factor in managing that cost.
  • SIFT performance depends on index design and field positioning, and should be tested.
  • For tuning and tracing, SQL Server tools such as the profiler help measure SIFT overhead and decide whether to combine SIFT keys. NCCI has its own tuning and tracing guidance with SQL Server tracing and columnstore index maintenance.
  • NCCI supports fast sums on decimal, integer and biginteger columns, and helps FlowFields and query performance.
  • NCCI in Business Central excludes BLOB fields and reduces database locking compared to SIFT keys.
  • Assess whether an NCCI is needed and choose its fields carefully. Consider disabling SIFT indexes, and test performance after any change to the NCCI structure.
  • A migration page explains when and how to replace SIFT indexes with NCCI on custom tables to reduce maintenance overhead and improve query performance.

Learn pages

Videos and posts

Linked by a Haiku matcher with a grounding quote from the item’s summary (link/topics.ts); machine-generated.

Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn’s own.

What Learn documents here 8 of 9 Learn pages

Show 1 more