01. februar 2008 - 10:33
Der er
10 kommentarer og 1 løsning
Query performance
Hej eksperter Jeg er lidt i tvivl om hvordan performance er i forhold til et tilfælde, hvor jeg i .asp forespørg i en MsSQL database. Hvis nu jeg har 6 tabeller, hvor jeg skal bruge data fra alle tabeller, hvad fungerer så bedst og hurtigst?? 1. Jeg laver et query for hver tabel, hvor jeg matcher imod primærnøglen. 2. Jeg laver et stort query hvor alle tabellerne er joinet sammen med left outer join. Der joines på primærnøglen på alle de tabeller som joines. Hvad kører bedst målt på performance??? - og hvordan kan man regne på sådan noget??? På forhånd tak. /MHQ
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
01. februar 2008 - 10:54
#1
I dont think there can be any doubt. 2. Jeg laver et stort query hvor alle tabellerne er joinet sammen med left outer join. Der joines på primærnøglen på alle de tabeller som joines.
01. februar 2008 - 10:56
#2
Okay - men hvorfor?? Og er der stor forskel?? Det er ingen problem for mig at lave det som et stort query, men jeg ville gerne vide hvad gevinsten var. Men ellers tak for svaret ! /MHQ
01. februar 2008 - 10:57
#3
This is the whole purpose of RDBMS/SQL servers. Why would you want to do all of the work by choosing your first option instead of letting the database do it for you?
01. februar 2008 - 10:58
#4
The server is optimized to do this.
01. februar 2008 - 11:00
#5
Okay, well - that is answer enough for me! :) Thanks. /MHQ
01. februar 2008 - 11:02
#6
Th emethod yo describe in 1. would have been what you would have used with ISAM (indexed files )databases many years ago. There were no direct relationships between tables as there are today in relational databases.
01. februar 2008 - 11:04
#7
You could also consider having a view on the server or even a stored procedure, these would also very likely improve performance.
01. februar 2008 - 11:05
#8
01. februar 2008 - 11:07
#9
Just noticed in your question "Der joines på primærnøglen på alle de tabeller som joines." If all tables have the same primary key, shouldnt all the data be in the same table?
01. februar 2008 - 11:15
#10
They don't have det same primary key. I also thought about using stored procedures. :) Thanks for the great help. /MHQ
01. februar 2008 - 11:22
#11
your welcome, thank you too.
Computerworld tilbyder specialiserede kurser i database-management