longgaard Novice
01. september 2020 - 14:30 Der er 3 kommentarer og
1 løsning

Mere fart på SQL

Jeg har indlæst en logfil til en tabel i MS SQL Server 2019.

I Server Management Studio v18.5.1 forsøger jeg at lave en liste over unikke brugere, med et eksempel på hvornår brugeren har været registreret i loggen.
Hvilket tidspunkt MS SQL finder frem til mig, er ligegyldig, bare den passer til brugeren.
Der er tale om en database med data af midlertidig karakter, og som ikke skal i egentlig produktion.
Normalisering er ikke noget krav eller ønske.

Virtuelt Hardware i brug er 8 kerner Xeon Silver 4215 @ 2.5GHz, 128 GB RAM, 335 GB VHD (på spindel i RAID 10)

I en lille test-tabel med 9 rækker, har jeg testet nedenstående queries, og de giver begge to de resultater jeg ønsker og queryen afvikles hurtigt.

I en lidt større log-tabel med 3.800.000 rækker tager det 3 timer.
Og det endelige mål er at køre den på tabel med 19.500.000 rækker.

Hvordan kan jeg skrive min query så den afvikler hurtigere?



SELECT [Col_Navn] as Bruger,
  ( SELECT TOP 1 [col_Tid] as Tid
  FROM [Tab_Log]
  WHERE [Col_Navn] = Tabellen.[Col_Navn] )
FROM [Tab_Log] AS Tabellen
WHERE [Col_Navn] IS NOT NULL
GROUP BY [Col_Navn]


SELECT DISTINCT [Col_Navn] as Bruger,
  ( SELECT TOP 1 [col_Tid] as Tid
  FROM [Tab_Log]
  WHERE [Col_Navn] = Tabellen.[Col_Navn] )
FROM [Tab_Log] AS Tabellen
WHERE [Col_Navn] IS NOT NULL
dennisbjorn Juniormester
01. september 2020 - 20:01 #1
I stedet from sub-select, kan bruge max funktionen til finde nyeste tidspunkt pr. bruger:

SELECT [Col_Navn] as Bruger, max([col_Tid]) as Tid
FROM [Tab_Log]
WHERE [Col_Navn] IS NOT NULL
GROUP BY [Col_Navn]

Men du bør nok overveje at indeksere din tabel.
arne_v Ekspert
02. september 2020 - 00:50 #2
Er der indeks paa col_tid og col_navn?
arne_v Ekspert
02. september 2020 - 00:53 #3
Men ja MAX er nok hurtigere:

SELECT DISTINCT [Col_Navn] as Bruger,MAX([col_Tid]) as Tid
WHERE [Col_Navn] IS NOT NULL
GROUP BY [Col_Navn]
longgaard Novice
02. september 2020 - 08:22 #4
MAX afvikler meget hurtigere. Resultatet var på skærmen på 1 minut 58 sekunder.

Tak for hjælpen
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
IBM fortsætter offensiv opkøbsstrategi: Køber en af de største og ældste multicloud-leverandører i USA
IBM opkøber cloud-virksomheden MSP Taos. Det er blot det seneste opkøb fra IBM i jagten på de store cloud-giganter og falder i tråd med IBM's offensive hybrid cloud-strategi.
Computerworld
Verdens tredjestørste smartphone-producent blacklistes af Trump-administrationen
Smartphoneproducenten Xiaomi er blandt de ni nytilkomne på Trump-administrationens sorte liste over kinesiske virksomheder, som amerikanerne ikke længere må investere i.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Job & Karriere
Microsoft i kæmpe dansk satsning - åbner tre store datacentre i Danmark
Microsoft lancerer kæmpe satsning fra hovedkvarteret i Lyngby. Selskabet åbner tre store bæredygtige datacentre på Sjælland.
White paper
Ryk SAP-workloads i skyen – og tag alle de kendte fordele med
SAP-kunder verden over har gennem de seneste 15 år draget fordel af løsninger baseret på NetApps ONTAP-data management-platform. Herunder en mere sikker og stabil drift samt forenklet administration, hvilket er afgørende for at gennemføre projekter effektivt og for at reducere deres risikoprofil. Gennem de seneste år er det i høj grad også blevet muligt at rykke SAP-workloads i skyen, og det ønsker mange virksomheder rimeligvis at drage fordel af – men uden at sige farvel til mulighederne med NetApp ONTAP. I dette whitepaper stiller vi skarpt på mulighederne for at indarbejde NetApp Cloud Volumes ONTAP and Azure NetApp Files som del af en SAP-strategi baseret på Microsoft Azure.