sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server-indekser inkluderer primærnøgle?

Din kollega blander "Primærnøgle" sammen med "klynget indeksnøgle" (muligvis fordi en PK som standard er oprettet på en heap uden at angive den nonclustered søgeord bliver tabellens grupperede indeks).

Det er sandt at på en tabel med et klynget indeks vil værdien af ​​den klyngede indeksnøgle blive tilføjet som inkluderede kolonne(r) til alle ikke klyngede indekser for at fungere som rækkelokalisator. (selvom kolonnerne ikke tilføjes to gange, hvis de allerede er en del af den ikke-klyngede indeksdefinition).

Den ideelle klyngede indeksnøgle er

  • unik (for at fungere som en rækkefinder skal den være unik - SQL Server tilføjer en uniquifier, hvis den ikke er det)
  • smal (Som det er gengivet i alle ikke-klyngede indekser)
  • statisk (undgå at skulle opdatere værdien flere forskellige steder)
  • stadigt stigende



  1. Hvordan returnerer man et resultatsæt/markør fra en anonym Oracle PL/SQL-blok, der udfører Dynamic SQL?

  2. MySQL-serverens thread_stack-parameter - hvad er det? Hvor stor skal den være?

  3. Hvordan indsætter man en CSV-fildata i MYSQL ved hjælp af Python effektivt?

  4. Udskriv resultater i MySQL-format med Python