Just nu i M3-nätverket
Jump to content

Klustrade index


Anders (interakt.nu)

Recommended Posts

Anders (interakt.nu)

Hur gör man för att ta bort ett klustrat index som ju automatiskt skapas på primary key? Jag skulle vilja testa att sätta det klustrade indexet på en annan kolumn än den som är primary key.

 

 

www.interakt.nu

Mötesplatsen kring användbarhet

Link to comment
Share on other sites

0) ta backup och kontrollera att du kan återställa backupen.

 

1) ta bort primärnyckeln

 

alter table t drop constraint primary_key_name

 

För att få reda på vad namnet på ett constraint

 

select constraint_name from information_schema.table_constraints

where table_name = 'T'

and table_schema = 'S'

and constraint_type = 'PRIMARY KEY'

 

2) skapa ett klustrat index

 

create clustered index clust on t(npk)

 

3) återskapa primärnyckeln

 

alter table t add constraint primary_key_name primary key nonclustered (pk)

 

Det blir en tung operation om du har mycket data.

 

Link to comment
Share on other sites

Jag tycker det låter onödigt komplicerat (beror förstås på vilken databas du har).

 

På en MSSql så kan du göra om det clustrade indexet till ett icke clustrat (ser i alla fall ut så om använde mmc men i bakrunden så tas det clustrade bort och ersätts med ett icke clustrat).

 

När detta är gjort så är det bara att skapa ett klustrat index på den collumn du vill ha det på.

 

Link to comment
Share on other sites

  • 2 weeks later...
Anders (interakt.nu)

Jag lyckades inte med någon av era lösningar... Primary key är en uniqeudentifier. Finns det något annat sätt? Jag kör MSSQL.

 

 

www.interakt.nu

Mötesplatsen kring användbarhet

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...