Klyngede indekser styrer rækkefølgen af dataene på DISK'en. Dette er en af hovedårsagerne til, at det normalt anbefales, at du opsætter en altid stigende heltalsnøgle til at fungere som det klyngede indeks. På denne måde, efterhånden som flere data føjes til tabellen, føjes de til slutningen af de aktuelt eksisterende data.
Hvis det ikke er et autoforøgende tal, og nye rækker kan indeholde værdier, der ville blive ordnet et sted mellem eksisterende værdier, så vil SQL Server dybest set skubbe dataene ind på den disk, hvor de hører hjemme (for at bevare rækkefølgen af de klyngede indeksnøgleværdier), hvilket producerer fragmentering og potentielt alvorlige overhead, da IO skriver yderligere bremser databasen.
Jeg formoder, at du har det samme problem med dine UserRecord-værdier.
Så hvad jeg ville gøre, er at tilføje en separat klynget autoforøgende primærnøgle til hver tabel og omarbejde dine FK-referencer og -forespørgsler, hvor det er nødvendigt.