Keep It Simple and Fast refers to my focus during development of applications. In my opinion, applications should be very simple to use and do not have dozens of options. Every application should perform very fast, even in high transactions volume or high multi user environments.

Tables in a database can contain a lot of nonclustered indexes per table. These indexes can get fragmented after a while. This will occur when a lot of records are inserted and deleted. Fragmented indexes will have a negative impact on the performance when these indexes are read.

Online index defragmentation can be done in 2 different ways:
1) Alter index statement. Can only be performed in Enterprise edition of SQL Server.
2) DBCC INDEXDEFRAG. Not supported as of SQL 2008 but it executed on SQL 2005 Standard or Enterprise edition.

Next script is an on line operation which can be executed in SQL 2005 Standard and Enterprise edition. It will have impact on the performance of the database. There for do not schedule this script on peak usage of the system.

On big tables this script can take a while to execute. In the software solutions of my company Exact Software we have Exact Globe and Exact Synergy Enterprise. In these solutions next tables can takes a while to defrag: GBKMUT, BacoAppLog, Absences, ItemNumbers, EBCDataLog, WordReferences, BacoSettings. AMUTAK, AMUTAS, ORSRG, ORKRG, FRSRG, FRKRG, ORHSRG, ORHKRG, FRHSRG, FRHKRG.

No comments:

About Me

My name is André van de Graaf, I'm working for Exact Software in the Research team as Principal Research Engineering. I'm located in Delft, The Netherlands. In my work i have a strong focus on performance of applications. Beside performance I want to keep everything as simple as possible. What is the perfect balance between performance and functionality?