community postAL Developmentcommunity - not Microsoftreviewed - checked by Opus

Business Central 29.0: Major Change to Table Extensions and SQL Storage.

Business Central 29.0 changes how table extension fields are stored in the database, moving from a companion-table model to storing extension fields directly in the same SQL table as the base table. This enables cross-table indexes, can improve query performance, and requires developers to avoid direct SQL dependencies.

post Saurav Dhyani

Saurav Dhyani · 2026-09-14 · 2,322 words · about 11 min

"Developers can define indexes that span fields from a base table and its table extensions."

Key points

  • Extension fields now physically reside in the same SQL table as base table fields instead of separate companion tables
  • Developers can create indexes spanning both base table and extension fields for more flexible data access patterns
  • Database operations involving extensions may perform faster due to co-located storage of all fields
  • Partial record loading remains important despite the new storage model; developers should continue using SetLoadFields appropriately
  • Solutions should depend on AL and Business Central APIs rather than direct SQL, as physical schema is an implementation detail that can change

Quotes

  • “Developers can define indexes that span fields from a base table and its table extensions.” (This new capability enables more flexible data access optimization that was impossible with the previous companion-table approach)

Context

  • Features: Table extension data storage, Cross-table-extension indexing, Partial record loading, SQL column-limit compiler warnings, Data model evolution, Performance optimization for extensions
  • Versions: 29.0

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