top of page

4 days ago
Filtering on FlowFields
It has been said so many times that filtering on FlowFields is bad for performance that we are used to avoiding this kind of filters in...
360 views0 comments

Dec 21, 2024
Table indexes and inserts
Following my series of posts where I have been addressing various aspects of table indexing, this post delves into the same old argument...
214 views1 comment

Nov 10, 2024
Another alternative to SIFT: Columnstore indexes
According to this article on Microsoft Learn portal , non-clustered columnstore indexes (or NCCI) are seen as a possible replacement for...
276 views0 comments

Oct 28, 2024
Hidden SQL queries in AL you (probably) want to avoid
Development of Business Central extensions is very much about the database communication, and as AL developers, we always control the...
553 views0 comments

Oct 22, 2024
if not IsEmpty then FindSet... again
Yes, I'm back again on this inexhaustible topic. The question of weather the call of IsEmpty before FindSet in AL can have a positive...
402 views2 comments

Oct 20, 2024
Covering indexes as an alternative to SIFT
In two of my previous blog posts I reviewed some pros and cons of the SumIndexField Technology (or SIFT) in Business Central. On the one...
310 views0 comments


Aug 25, 2024
if not IsEmpty then FindSet... Or not?
This post is a result of one very fruitful discussion with many knowledgeable Business Central enthusiasts in a long LinkedIn thread. Now...
641 views0 comments


Aug 9, 2024
The dark side of SumIndexFields. Concurrency.
My previous post was dedicated to an overview of Business Central's SumIndexField Technology, or simply SIFT, which helps us collect...
450 views3 comments


Aug 5, 2024
SIFT
SIFT, which stands for Sum Index Flow Technology, used to be a know-how in the Navision database, a data structure that stored...
345 views4 comments

Jun 30, 2024
Navision legacy in AL: RecordLevelLocking
RecordLevelLocking function in AL is a heritage of the C/SIDE times and the Navision native database. In those old days when Navision...
220 views0 comments

Jun 20, 2024
Select with partially matching index: can we make it faster?
Let's assume we want to select a set of customer ledger entries based on two values: salesperson code and the payment reference. Or any...
262 views0 comments

Jun 9, 2024
Lock timeouts and deadlocks
A long time ago (in a galaxy far away) I published some blog posts with a deeper overview of the Business Central's ReadIsolation...
1,027 views0 comments

Nov 26, 2023
Read Committed Snapshot isolation and the Write Skew anomaly
Much has been said recently about the benefits of the Azure SQL for Business Central performance, and in particular a few articles...
685 views0 comments


Nov 13, 2023
if not IsEmpty() then DeleteAll()
My previous post on good and bad coding practices in terms of the performance touched upon one particularly contradictory coding pattern...
1,033 views0 comments


Nov 10, 2023
Top 5 AL mistakes that undermine performance
This post is my shortlist of the most common beginners' mistakes in AL that affect application performance. These are not necessarily the...
2,126 views4 comments


Jul 13, 2023
When partial records and indexes reach synergy
Continuing performance testing of queries on extended Business Central tables, today I want to look at the same dataset from a slightly...
494 views0 comments


Jul 6, 2023
Who benefits from partial records: The true magic of SetLoadFields
Server-side perspective One of the key characteristics of the C/AL language and its more modern ancestor, AL, that makes it so attractive...
788 views0 comments


Jul 1, 2023
Locking Scope: Differences between LockTable and ReadIsolation
Today, once again, I am returning to the topic of table locking, lock escalation, and the way Business Central interacts with SQL Server...
1,640 views0 comments


Jun 29, 2023
Introduction to Business Central Caching - Part 2
The effects of SetLoadFields and AutoCalcFields on caching This post continues the topic of query caching in Business Central which I...
749 views2 comments


Jun 12, 2023
Test assertions on DateTime values
Recently, I was running a large test suite to verify my changes in the Base Application item journal posting functionality. Changes were...
321 views3 comments
bottom of page