Lad være med at joine tabellerne samme, du skal jo alligevel kun bruge én information. Det kan du få ved en subselect i din select statement:
(uden syntaxcheck)
select *, (select værdi from tabel2 b where dato=(select max(dato) from tabel2 c where a.dato > c.dato and c.id = a.id) and b.id = a.id) vaerdi from tabel1 a
Lige en lille bemærkning, du skriver at jobbet tager adskillige timer, men efter min sql er afprøvet lykkedes det dig at svare tilbage allerede efter en halv time ;-)
teepees koster: 0,01008908 modsat din egen: 0,02780276
teepes performer, som jeg lige ser det omkring 70-75 bedre.
ofirpeter-> Forklar hvordan du "oplever" dårligere performance?
For de nysgerrige så angiver tallet en blanding imellem: Hvilke algoritmer der bruges til hvert trin. Antallet af rækker som processeres af algoritmen Hvordan data ligger fordelt i hver query. Antallet af processorer på maskinen. Hukommelse RAM
Er der statistikker og indexes? Har du for nyligt fyldt millioner af rækker i tabellen uden at opdatere disse?
Synes godt om
Ny brugerNybegynder
Din løsning...
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.