---
id: post/sauravdhyani-com/tag-blogger-com-1999-blog-3122193036149030463-post-5876765753602227342--dc85fd75c1
type: post
title: "Business Central 29.0: Major Change to Table Extensions and SQL Storage."
summary: 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.
tier: community
language: en
tags:
  - table extensions
  - sql storage
  - data model
  - performance
  - indexing
  - architecture
  - al development
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-07T23:46:26.709Z"
  flags: []
generated:
  at: "2026-10-07T22:42:12.892Z"
  pipeline: 0.2.0
  prompts:
    extract-post: 1
  input_hash: 750c9d4bce242f2666a0825f4731c293470a1def9078f6f7746eb32aa1e55180
evidence:
  - kind: blog
    url: https://www.sauravdhyani.com/2026/09/business-central-290-major-change-to.html
    title: "Business Central 29.0: Major Change to Table Extensions and SQL Storage."
    date: "2026-09-14"
    commit: null
    t: null
    quote: null
  - kind: blog
    url: https://www.sauravdhyani.com/2026/09/business-central-290-major-change-to.html
    title: "Business Central 29.0: Major Change to Table Extensions and SQL Storage."
    date: "2026-09-14"
    commit: null
    t: null
    quote: Developers can define indexes that span fields from a base table and its table extensions.
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
post_id: tag:blogger.com,1999:blog-3122193036149030463.post-5876765753602227342
source_id: sauravdhyani-com
source_name: Saurav Dhyani
url: https://www.sauravdhyani.com/2026/09/business-central-290-major-change-to.html
published_at: "2026-09-14T05:30:00.000Z"
author: Saurav Dhyani
full_text: false
words: 2322
quotes:
  - text: Developers can define indexes that span fields from a base table and its table extensions.
    why_it_matters: This new capability enables more flexible data access optimization that was impossible with the previous companion-table approach
code_objects_mentioned: []
systems:
  - development
  - platform
versions_mentioned:
  - "29.0"
preview:
  embeddable: true
  frame_url: null
  image: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0fKvors6HwcC9D58yoBEu9VA0EoVjNohiSfIEQ1Wsysg21xWsFbOaLLSNTkk_jHI1XKQBYCJZi9GTNAZaoxxBkDYe1mKzj7wzGFKl137oWWUbfokHD3cahQ9JNn67fAtnmonewcMCU2kOS-x4fueNGrvPg0RAKRTFWFcJTeiY-VQHFuEOUorAqJyIU_A/w1200-h630-p-k-no-nu/ChatGPT%20Image%20Sep%206,%202026,%2009_53_13%20PM.png
  image_alt: null
  image_w: null
  image_h: null
  site_name: null
  favicon: https://www.sauravdhyani.com/favicon.ico
  probed_at: "2026-10-07T11:50:04.669Z"
---

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

[Read the post](https://www.sauravdhyani.com/2026/09/business-central-290-major-change-to.html) · Saurav Dhyani (Saurav Dhyani, MVP) · 2026-09-14 · 2322 words · tier community · reviewed (checked by Opus)

> 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.

## 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.
