Nej, inte i de exemplen du har skrivit där. Det som brukar göra skillnad prestandamessigt är det som man skriver i FROM, WHERE och ORDER. Beroende vilka fält man jämför med eller sorterar på får man kontrollera att det finns index satta, om så krävs för att öka prestandan.
Om jag exempelvis skriver följande uttryck:
SELECT telenr,namn,ID,efternamn FROM tabell1
ORDER BY namn, efternamn
och märker att det går lite väl långsamt så kanske jag ska sätta ett index som inkluderar kolumnerna jag angett i ORDER BY, dvs namn samt efternamn i stigande ordning.
CREATE NONCLUSTERED INDEX IX_namnEfternamn
ON tabell1 (namn asc, efternamn asc)
Jaså?. Men hur gör man för att sätta ett clustrat index på fler kolumner än PRIMARY KEY ?, eftersom ett clustrat index sätts automatiskt av SQL-servern när man deklarerar en kolumn som är av PRIMARY KEY och sen verkar det vara svårt att bli av med den.
För att göra det så måste man först skapa tabellen utan nån PRIMARY KEY, sedan lägga till ett klustrat index på den kolumn man vill ha, och sist lägga på ett PRIMARY KEY-constraint på tabellen. Ex:
create table Tabell1
(
[id] int not null,
[name] varchar(50) null
)
create clustered index IX_name ON Tabell1 ([name] asc)
alter table Tabell1
add constraint PK_Tabell1 primary key ([id])