top of page


JIT loads vs Full record load
Since the time when I came across this post by Waldo (or actually, he mentioned his test results in one online discussion) I was curious...
May 31
Â
Â
Â


To sort, or not to sort, that is the question
Back in the old Navision days, when clients' data were stored in the Navision native database instead of Azure SQL Server, and functions...
May 30
Â
Â
Â


Buffered inserts and deadlocks
Recently I was debugging a very interesting deadlock case which I want to share in a blog post now. It was especially curious because, as...
Feb 22
Â
Â
Â


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...
Feb 6
Â
Â
Â


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...
Dec 21, 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...
Nov 10, 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...
Oct 28, 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...
Oct 22, 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...
Oct 20, 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...
Aug 25, 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...
Aug 9, 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...
Aug 5, 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...
Jun 30, 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...
Jun 20, 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...
Jun 9, 2024
Â
Â
Â


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...
Nov 26, 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...
Nov 14, 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...
Nov 10, 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...
Jul 13, 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...
Jul 6, 2023
Â
Â
Â
bottom of page