asp timeout
Maxx666 30.09.2002 - 15:29 1554 28
Maxx666
Kitemaniac
|
und das braucht eine minute ???
tja...leider sind auch 1674603 Datensätze
|
Maxx666
Kitemaniac
|
rein interessenshalber, was sagt der Profiler und wie lange dauerts im query analyzer? im query analyzer dauerts 37 sekunden....LOL....nur noch 7 sekunden müsste das asp script länger durchhalten.
|
Guest
Deleted User
|
37 sekunden für a count(*)? -> schmeiss deine datenbank weg, die taugt nix.
|
Guest
Deleted User
|
37 sekunden für a count(*)? -> schmeiss deine datenbank weg, die taugt nix. stimmt. überleg dir halt, ob du wirklich alle records gleichzeitig fetchen musst, oder obs zB reicht, nur bestimmte daten zu holen oder immer ein "paket" von 30.000 records oder so.
|
Guest
Deleted User
|
Er fetcht eh ned alle gleichzeitig sondern will nur mal die Anzahl wissen btw: welche Datenbank hast im Einsatz? ... damit ich in Zukunft einen großen Bogen darum machen kann :d
|
Guest
Deleted User
|
Er fetcht eh ned alle gleichzeitig sondern will nur mal die Anzahl wissen stimmt. überlesen. sick. für einen count 37 secs. oarg.
|
noledge
CWNE #540
|
ich würd was anderes als einen 486 verwenden, weil für sowas simples schafft sogar irgendein grindiger filemaker-pseudo-db schneller...
|
Maxx666
Kitemaniac
|
jungs....ich hab die datenbank nicht verbrochen. das waren andere. ich weiss, das ist der absolute ******* und glaubt mir, ich schimpfe oft genug darüber. fakt ist nur ich soll ein asp script basteln, welches gewisse daten aus der verhunzten db holt und diese aufbereitet. -> hab aber jetzt die sache, nach langer suche im i-net, gelösst (google sei dank..) der clou ist, vor den aufbau der connection folgendes einfügen: Conn.CommandTimeout = 0 '0 = unendlich...*LOL* Conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=..." alles anderen timeouts ziehen nur im eigentlichen script code, für die OLE-DB Connection wirken sie leider nicht.
|
Maxx666
Kitemaniac
|
ich würd was anderes als einen 486 verwenden, weil für sowas simples schafft sogar irgendein grindiger filemaker-pseudo-db schneller... ach ja, genau....vielleicht sollte ich doch nicht den 386er verwenden... gute idee
|
Guest
Deleted User
|
Ich frag mich, wie man eine db verhunzt, dass ein pure "count (*) from table;" länger als a paar taktzyklen dauert Sicher dass du nicht noch einen where-teil in dem count hast?
|
noledge
CWNE #540
|
ach ja, genau....vielleicht sollte ich doch nicht den 386er verwenden... gute idee naja - mir ist klar, dass die das ad hoc nicht weiterhilft, vorallem wenn du die db nicht "verbrochen" hast, aber normalerweise bekämpft man die ursache und nicht die auswirkungen...
|
Ringding
Pilot
|
Ich frag mich, wie man eine db verhunzt, dass ein pure "count (*) from table;" länger als a paar taktzyklen dauert Das frag ich mich auch. Allerdings hat unsere MySQL Datenbank, die wir letzte Woche gemacht und zum Spass mal mit 300.000 Records befüllt haben, für genau das gleiche simple "select count(*) from <table>" auch etliche Sekunden gebraucht. Dass das so lang dauert, kommt wahrscheinlich von der Transaction Isolation. Die kann man ja individuell einstellen. Probier mal damit herum.
|
Maxx666
Kitemaniac
|
Das frag ich mich auch. Allerdings hat unsere MySQL Datenbank, die wir letzte Woche gemacht und zum Spass mal mit 300.000 Records befüllt haben, für genau das gleiche simple "select count(*) from <table>" auch etliche Sekunden gebraucht.
Dass das so lang dauert, kommt wahrscheinlich von der Transaction Isolation. Die kann man ja individuell einstellen. Probier mal damit herum. wenn ich wüsste, was du damit meinst, könnte ich damit rumspielen....
|
Ringding
Pilot
|
Ich muss mal nachschauen, wo man das einstellen kann. Hast du beim Recordset LockType auf adLockReadonly gestellt?
EDIT: Connection hat eine Property "IsolationLevel". Lies dir da mal durch, was das genau kann. Default ist allerdings eh das schnellste. Vielleicht bist du auch in einer impliziten Transaction, die erst beendet wird, wenn du Commit aufrufst. Falls du vorher schon was an der Datenbank gemacht hast, versuch mal direkt vor dem select count(*) ein Commit.
Bearbeitet von Ringding am 01.10.2002, 14:37
|