Avatar billede falslev Nybegynder
04. oktober 2005 - 17:36 Der er 6 kommentarer og
1 løsning

Mysql hænger når den skal finde sidste autogen. ID

Jeg kan se i loggen på min MySQL at den hænger når den skal finde sit autogenenret ID.
Når jeg laver en insert og finder id ser det således ud:

Eks.:
Indsætning:
strSQL = " INSERT INTO topics (ForumID, User)"
strSQL = strSQL & " VALUES ('100', "
strSQL = strSQL & " '1676');"
Conn.Execute(strSQL)

Find ID:
SQLstmt = "SELECT LAST_INSERT_ID() AS LastID FROM topics;"
Set RS = Conn.Execute(SQLstmt)
  LastTopicID = RS("LastID")
RS.Close
Set RS = Nothing

Men den hænger tit i flere sek.

Sådan ser min logfil f.eks. ud:
# Query_time: 4  Lock_time: 0  Rows_sent: 279265  Rows_examined: 279265
SET last_insert_id=1434475;
SELECT LAST_INSERT_ID() AS LastID FROM topics;


Det burde da ikke tage så lang tid. Noget jeg gør galt?
Avatar billede ksoren Nybegynder
04. oktober 2005 - 18:16 #1
prøv at udelade FROM topics

Den er jo specifik til sidste kommando du udførte, så tabellen bør være overflødig
Avatar billede falslev Nybegynder
04. oktober 2005 - 18:18 #2
Ok. Kan jeg være 100 % sikker på at intet andet er indsat i mellem tiden?
Avatar billede ksoren Nybegynder
04. oktober 2005 - 18:18 #3
Den er specifik til din connection, så ja
Avatar billede falslev Nybegynder
04. oktober 2005 - 18:25 #4
Men du er ikke sikker på om der er noget optimering i det?
Avatar billede ksoren Nybegynder
04. oktober 2005 - 18:30 #5
jeg har lige testet det. Når jeg inkluderer FROM så returnerer lige så mange rækker som id er stort

uden FROM returnerer den kun 1 række
Avatar billede falslev Nybegynder
04. oktober 2005 - 18:32 #6
Ja men så er det jo løsningen.
Skynd dig at komme med et svar :)
Avatar billede ksoren Nybegynder
04. oktober 2005 - 19:43 #7
ok :)
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