Avatar billede dk_akj Nybegynder
13. juni 2002 - 10:01 Der er 5 kommentarer og
1 løsning

Select med OR - Kører meget langsomt

Jeg har en større sql som skal udvides lidt.

Idag er den sådan :
Select ....
from .....
where ...... and
"PRODUCT"."ID" = 1234
---Svartid < 2 sek---

Denne forespørgsel tager < 2 sek, hvilket er fint.

Jeg skal have ændret den til dette:
Select ....
from .....
where ...... and
(( "PRODUCT"."ID" = 1234) or  ( "PRODUCT"."OLDID" = 1234))
---Svartid ca 14 sek---

Select ....
from .....
where ...... and
"PRODUCT"."OLDID" = 1234
---Svartid < 2 sek---

Både "ID" og "OLDID" er indexeret.

Oracle 7.3

Hvad kan jeg gøre for at få svartiden ned ??

//akj
Avatar billede hansk Nybegynder
13. juni 2002 - 10:08 #1
Prøv at lægge "or  "PRODUCT"."OLDID" = 1234 til sidst som

HAVING "PRODUCT"."OLDID" = 1234
Avatar billede dk_akj Nybegynder
13. juni 2002 - 10:21 #2
Den går ikke, jeg har ingen GROUP BY

//akj
Avatar billede Slettet bruger
13. juni 2002 - 10:27 #3
Prøv en

SELECT...ID = 1234
UNION
SELECT...OLDID = 1234
Avatar billede dk_akj Nybegynder
13. juni 2002 - 10:38 #4
Takker nu har jeg en svartid på ca 4 sek, hvilket er acceptabelt.

//akj
Avatar billede Slettet bruger
13. juni 2002 - 10:55 #5
"UNION" laver en sortering af de to forespørgsler for at undgå at vise
samme række to gange.

Hvis du ved at der for en række gælder at ID altid er forskellig fra
OLDID, kan du spare tid ved at lave en "UNION ALL".

"UNION ALL" samler resultaterne fra begge forespørgsler uden at sortere.
Avatar billede dk_akj Nybegynder
13. juni 2002 - 11:00 #6
De skal være forskellige, med mindre min app fejler.
Jeg prøver en union all

Tak for tippet.
//akj
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows