De SQL Server-index statistieken bevatten informatie over de verdeling van de belangrijkste waarden van de tabellen in een database, waar de distributie is het aantal rijen die bij elke belangrijke waarde. SQL Server gebruikt deze informatie om te bepalen welk type uitvoeringsplan (uitvoeringsplan) te gebruiken in het verwerken van een query. Bij het uitvoeren van voegen, te wijzigen of te verwijderen rijen in een tabel de statistieken op die tafel niet automatisch bijgewerkt en zijn dus minder nauwkeurig.
SQL Server kan updaten de index statistieken op twee manieren: door het scannen van alle rijen in een tabel, of door te scannen op een percentage van de rijen in een tabel. Het is duidelijk, is het gemakkelijk om te zien hoe computationeel duur om alle rijen, bijvoorbeeld tabellen met miljoenen rijen scannen.
Het is belangrijk om te weten wanneer statistieken worden bijgewerkt. Er is een instelling heet AUTO_UPDATE_STATISTICS databank Indien ingesteld op true zorgt ervoor dat de automatische updates van de statistieken

Indien de automatische update van de statistieken is ingeschakeld bepaalt wanneer SQL Server dit te doen op basis van hoe gedateerd het dezelfde statistieken. De DBMS identificeert oudere statistieken op basis van het aantal in-, wijzigen en verwijderen die worden uitgevoerd op een tafel sinds de laatste keer statistieken werden bijgewerkt en opnieuw te maken ze op basis van een drempel.
De drempel is ten opzichte van het aantal rijen in een tabel en een tabel met veel rijen van de statistieken update plaatsvindt na een groot aantal operaties en in dit geval voor een bepaalde periode, vóór het bereiken van de drempel, de statistieken zijn niet automatisch bijgewerkt.
Het probleem met deze situatie is dat het ontbreken van de huidige statistieken SQL Server mogelijk niet alle verschillende mogelijke waarden die aanwezig kunnen zijn in een geïndexeerde kolom en vervolgens de database-engine kan een query uitvoeringsplan kiezen weet dat niet optimaal is.
Dat wil zeggen altijd, in het geval van een tabel met miljoenen rijen, dat als een dergelijke dag worden geplaatst in het honderden duizenden rijen, voor een periode kan worden geen statistieken in verband met deze nieuwe lijnen, en SQL Server kan niet worden in staat om een ​​efficiënte uitvoering van plan vast te stellen wanneer query's zijn gemaakt van rijen met de belangrijkste waarden in verband met deze nieuwe lijnen aangebracht. Dit kon natuurlijk een grote impact hebben op de prestaties van een hypothetische applicatie die werkt op die gegevens.
| |
MS Access Cursus
Leer hoe het maken en beheren van databanken gemakkelijk en snel. Korting -10% tot 06/01/2012. |
| |
Cursus MySQL
Beheer van de open source database. -15% Korting tot 06/01/2012. |
| |
Cursus Database en SQL
Het creëren en beheren van relationele databases. -15% Korting tot 06/01/2012. |