Om jag skapar en relation mellan två kolumner, påverkar detta då prestandan positivt vid en sökning som innehåller motsvarande join? Eller är det bara huruvida det finns index på Foreign Key:n i tabell 1 resp index på Primary Keyn i tabell 2 som påverkar prestandan? Varje gång jag ser någon referera till "relation mellan tabeller" vill jag, även om inget har påstått så, påpeka att det inte är därför det kallas relationsdatabas. Det är tabellerna själva som utgör relationerna. Det får du gärna utveckla, är inte säker på att jag förstår vad du syftar på... Per menar att enligt relationsteorin är en tabell en relation. En databas innehåller en massa relationer helt enkelt. Sedan är det så att specciella samband mellan kolumner (pk -> fk) i många databashanterare, t.ex. SQL Server kallas relations. Egentligen ska de alltså ses som speciella samband mellan relationer (dvs tabeller) som kan upprätthålla 'data integrity', t.ex. att en order-detalj alltid har en order. Jag känner inte till exakt hur SQL servern kan optimera för detta men det känns rimligt att anta att ju mer databasen vet om datat och samband mellan tabeller desto mer kan den internt optimera sökningar och joins. T.ex. om det är känt att ett fält inte kan vara null behövs inte någon kontroll för det heller. Dessutom får du fördelen att databasen blir 'självinstruerande' för andra utvecklare. Dvs genom att titta på hur sambanden är uppsatta förstår man bättre hur systemet fungerar.Relation vs Index
Jag förstår givetvis att relationer i databasen är bra för att bevara integriteten (heter det väl), men jag är osäker på om detta även påverkar hur joins exekveras och optimeras av query optimizern.Sv: Relation vs Index
Sv:Relation vs Index
Sv: Relation vs Index