webForumDet fria alternativet

Prestanda. Vilken sats är snabbast

Databaser & SQLur Databashanterare & SQL

8 svar · 425 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Dessa två SQL-satser ger identiskt resultat. Men vilken är snabbast. Kan man mäta det på något enkelt sätt?

1

SELECT     c.courseID, c.courseName
FROM         classParticipants AS ClP INNER JOIN
                      courseParticipants AS cp ON ClP.UserID = cp.UserID INNER JOIN
                      courses AS c ON cp.courseID = c.courseID
WHERE     (ClP.classID = 58) AND (c.courseEndDate >= GETDATE()) AND (c.courseStartDate <= GETDATE()) AND (cp.courseTeacher = 0)
GROUP BY c.courseID, c.courseName
ORDER BY c.courseName

2

SELECT     courseID, courseName
FROM         courses AS c
WHERE     (courseID IN
                          (SELECT     courseID
                            FROM          courseParticipants AS cp
                            WHERE      (UserID IN
                                                       (SELECT     UserID
                                                         FROM          classParticipants AS clp
                                                         WHERE      (classID = 58))) AND (courseTeacher = 0)))
Medlem sedan feb. 200112 078 inlägg
#2

Använd query analyzer, om du har SQL Server installerat.

Medlem sedan jan. 20013 406 inlägg
#3

Finns det i Management Studio eller är det ett fristående program?

Medlem sedan feb. 200112 078 inlägg
#4

Jag minns inte hur det är, men Management Studion innehåller ju numer iallafall en liknande frågeställare. Har du bara client tool'sen så skall det var adär nånstans.

Medlem sedan jan. 20013 406 inlägg
#5

Okej. Jag har en grupp under SQL-server programmappen som heter Analasys Services men där ligger bara deployment wizard.

I management studio så skriver ju sql-frågemotorn eller vad man kallar den ofta om frågorna när man kör dem.

Medlem sedan feb. 20013 023 inlägg
#6

Det står ju nere i högra hörnet i management studio hur lång tid frågan tog att exekvera!

Medlem sedan jan. 20013 406 inlägg
#7

Båda frågorna genereras på 00:00:00 sekunder står det.
attendance tabellen har några 100 000 rader och user tabellen över 2000

Medlem sedan feb. 200112 078 inlägg
#8

Ja, du får väl använda SQL Server Profiler för att mäta frågorna i produktionsmiljö, när trycket är högre, för det är först då man kan se den verkliga impact de har på systemet.

Hur kommer det sig att du undrar vilken som är snabbast? Är det ett problem idag?

Medlem sedan jan. 20013 406 inlägg
#9

Är inget problem idag men man vill u utvekla så resurssnålt som möjligt för att slippa behöva göra så mycket justeringar i största möjliga mån när aktiviteten ökar.

128 ms totalt · 3 externa anrop · v20260731065814-full.02a0f7de
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)