Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 14:48 Der er 21 kommentarer og
1 løsning

hente sidste post hurtigere??

Jeg skal hente nyeste post fra en tabel i databasen. Mit recordset ser sådan her ud:

SELECT *
FROM 5Product
WHERE ProductID=(SELECT MAX(ProductID) FROM 5Product)

det fungerer men det tager såååååååååå lang tid for siden at finde den rigtige record da der er ca. 13000 poster og nogle gange timer den ud. Hvad i alverden kan jeg gøre for at optimere det???????

Det er en Access database og jeg ved at dette er en begrænsning men desværre var det sådan da jeg overtog projektet. Ville dette problem ikke være der med en anden slags DB????
Avatar billede -thomas- Nybegynder
07. oktober 2003 - 14:50 #1
Hvad med noget lign:

SELECT * FROM 5Product ORDER BY ProductID DESC LIMIT 1
Avatar billede keysersoze Ekspert
07. oktober 2003 - 14:51 #2
SELECT top 1 * FROM 5Product ORDER BY ProductID

?
Avatar billede keysersoze Ekspert
07. oktober 2003 - 14:53 #3
-thomas- >> det er en access-database... ikke mysql



SELECT top 1 * FROM 5Product ORDER BY ProductID desc

for at være 100% sikker
Avatar billede -thomas- Nybegynder
07. oktober 2003 - 14:56 #4
Sorry, kunne ikke huske om man kunne det i Access eller ej... :)
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 14:56 #5
hmmm...ingen af delene hjælper...:-(
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 14:57 #6
det kunne man ikke men jeg vidste hvad du mente :-)
Avatar billede -thomas- Nybegynder
07. oktober 2003 - 15:00 #7
Hvad med:

SELECT MAX(ID) FROM 5Product

?
Avatar billede -thomas- Nybegynder
07. oktober 2003 - 15:01 #8
Hmm.. det var jo det du startede med.... :-)
Avatar billede keysersoze Ekspert
07. oktober 2003 - 15:02 #9
hvis du bruger select top 1 - hvad sker der så (eller sker der ikke)?
Avatar billede -thomas- Nybegynder
07. oktober 2003 - 15:03 #10
Lyder mærkeligt, at det tager så lang tid, at den timer ud - tror det ville gå noget hurtigere i en ms sql eller en mysql database...
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:03 #11
heller ikke...
Avatar billede erikjacobsen Ekspert
07. oktober 2003 - 15:04 #12
Har du et index på feltet? Og hvad skal du iøvrigt bruge det til?
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:04 #13
Der tager lige lang tid med alle foreslagene
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:05 #14
timer ud måske 30% af gangene, resten af gangene går der måske 20 sekunder (har ikke taget tid men noget i den stil)
Avatar billede keysersoze Ekspert
07. oktober 2003 - 15:05 #15
er du sikker på at det er den select der tager lang tid og ikke noget andet før eller senere i scriptet?
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:07 #16
det er det ikke, har prøvet at sætte kun det recorset på en ellers tom side, og det tager en halv krig
Avatar billede keysersoze Ekspert
07. oktober 2003 - 15:17 #17
det lyder underligt - godt nok er access langsom, og for access er 13000 poster på nettet meget... men at den ligefrem skulle være så langsom lyder under.

Er der et index på ProductID? hvis ikke så prøv at lav det

Er den lige langsom uanset om du tester siden localhost eller på nettet?
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:23 #18
ID er indekseret...

Tester kun live da jeg har noget session halløj...arbejder i DW og når jeg laver recordsettet og tester derindefra er posten der med det samme. Men af en eller anden grund tager det en evighed at lukke recordsettet igen (meget mystisk)
Avatar billede keysersoze Ekspert
07. oktober 2003 - 15:25 #19
prøv at kom med den simpleste version du har lavet af scriptet og post det her...

en mulighed var jo også, at  det er serveren siden ligger på der har et problem, altså ganske enkelt er den der er langsom?
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:40 #20
shit!! har lige fået en haste haste ting. Vender tilbage hurtigst muligt!
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:51 #21
har lige fået en åbenbaring, må krybe til korset og indrømme at der lå en gammel rest af et recorset der hentede en trillion poster fordi der ikke var noget where statement. MEGET pinligt!!

Men tak for hjælpen!!!
Avatar billede myanimalfarm Nybegynder
07. oktober 2003 - 15:53 #22
fortjener en dum blondine vits nu ;-)
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
Kurser inden for grundlæggende programmering

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