I have a CRM system where I am reviewing the structure of the SQL Server 2017 database.
There is a History
table with a clustered index on Date_Entered
(datetime
) and Time_Entered
(varchar(8)
). There are around 30 million rows (and counting).
When a customer record is opened, their most recent history is displayed in reverse date / time order.
With the index in ascending order, new rows are added at the end of the table. If I were to rebuild it in descending date / time order, I assume that displaying the records would be quicker (though it isn't slow anyway), but would that mean that new records would be inserted at the beginning, and therefore lead to constant page splits, or is that not the case?