SQL Server: insert-performance verbeteren in 5 stappen. Wat zijn mogelijke oorzaken van een trage insert in een tabel? Hoe vind je dit knelpunt zonder het execution plan?
- DROP ALL triggers en constraints op de tabel
- DROP ALL indexen (behalve de indexen die de insert nodig heeft)
- Voorkom page splits: gebruik een clustered index waarbij nieuwe records aan het einde van de tabel komen. Gebruik een IDENTITY-kolom als primary key.
- Laat geen lege ruimte in de tabel: zet de fill factor op 0 of 100 (hetzelfde). Dan staat de data op minder pagina’s.
- Verlaag de overhead op het transaction log: zet het recovery model van de database op Simple
Veelgestelde vragen
Hoe maak ik inserts in een SQL Server-tabel sneller?
Drop alle triggers, constraints en overbodige indexen. Voorkom page splits met een IDENTITY-kolom als clustered key. Zet de fill factor op 0 of 100. Verlaag de overhead op het transaction log met het recovery model Simple.
Hoe voorkom ik page splits bij het inserten van rijen in SQL Server?
Gebruik een clustered index waarbij nieuwe records aan het einde van de tabel komen. Gebruik een IDENTITY-kolom als primary key.
Welke fill factor is het beste voor insert-performance?
Zet de fill factor op 0 of 100 (dat is hetzelfde). Zo blijft er geen lege ruimte in de tabel en staat de data op minder pagina's.
Hoe verlaag ik de overhead op het transaction log bij inserts?
Zet het recovery model van de database op Simple. Dat verlaagt de overhead op het transaction log tijdens de insert.
Welke indexen drop ik om een insert in een tabel te versnellen?
Drop alle indexen behalve de indexen die de insert nodig heeft. Drop ook alle triggers en constraints op de tabel.
Reacties
Gerelateerde blogs
Cannot truncate table because it is being referenced by a FOREIGN KEY constraint
Top 3 van de beste ETL-tools op de markt in 2017
De 5 beste voorbeelden van big data in de praktijk