Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Jeg ved hvis man bruges Query Analyser i Ms SQL og slår execution plan til, så kan man se at når man laver joins, så laver den selv sub selects.
Men om det er hurtigere det ene eller andet, det må vist komme an på en prøve. Jeg tror umiddelbart at joins er hurtigere hvis man har en condition med, dvs.
select * from xxx LEFT join yyy on xx.id=yyy.id where xxx.sss=3
Så tror jeg ganske sikkert at en join er hurtigere, for på den måde så henter den først alle records fra xxx hvor sss=3, og det gør den via indexet. Herefter gør den det samme med yyy, men bare på id kolonnen.
Hvis man havde lavet den samme med en sub select, så ville det jo være således:
select * from xxx where id in (select id from yyy) and xxx.sss=3. Det jo helt sikkert mere langsomt, da den først skal hente alle ids fra yyy, og så matche dem op imod dem fra xxx hvor sss=3.
Hej! Det er lidt svært at sige sådan, men som regel er der ingen forskel. Hvis du har en query-analyzer, kan du jo markere begge statements, altså subselecten og join. Slå execution-plan til (CTRL-k), eller vælg den under menu/ query, der kan du så se hvad de hver især koster eks. "relative to batch" osv....
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.