Wat is een index in SQL?

Wat is een index in SQL? Kunt u dit uitleggen of een verwijzing geven om het duidelijk te begrijpen?

Waar moet ik een index gebruiken?

Oplossing

Een index wordt gebruikt om het zoeken in de database te versnellen. MySQL heeft goede documentatie over dit onderwerp (die ook relevant is voor andere SQL-servers): http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

Een index kan worden gebruikt om efficiënt alle rijen te vinden die overeenkomen met een kolom in uw query en dan alleen door die subset van de tabel te lopen om exacte overeenkomsten te vinden. Als u geen indexen heeft op een kolom in de WHERE clausule, moet de SQL server de hele tabel doorlopen en elke rij controleren om te zien of deze overeenkomt, wat een langzame operatie kan zijn op grote tabellen.

De index kan ook een UNIQUE index zijn, wat betekent dat u geen dubbele waarden in die kolom kunt hebben, of een PRIMARY KEY die in sommige storage engines definieert waar in het database bestand de waarde wordt opgeslagen.

In MySQL kunt u EXPLAIN gebruiken voor uw SELECT statement om te zien of uw query gebruik zal maken van een index. Dit is een goed begin voor het oplossen van performance problemen. Lees meer hier: http://dev.mysql.com/doc/refman/5.0/en/explain.html

Commentaren (0)

Een index wordt gebruikt om de prestaties van zoekopdrachten te versnellen. Dit gebeurt door het aantal databank-datapagina's dat moet worden bezocht/gescand, te verminderen.

In SQL Server bepaalt een geclusterde index de fysieke volgorde van gegevens in een tabel. Er kan slechts één geclusterde index per tabel zijn (de geclusterde index IS de tabel). Alle andere indexen op een tabel worden niet-geclusterd genoemd.

Commentaren (0)

Een index wordt om verschillende redenen gebruikt. De belangrijkste reden is om query's te versnellen zodat je sneller rijen kunt krijgen of rijen sneller kunt sorteren. Een andere reden is om een primary-key of unieke index te definiëren die zal garanderen dat geen andere kolommen dezelfde waarden hebben.

Commentaren (0)