URL: https://www.overclockers.at/coding-stuff/asp_timeout_50132/page_2 - zur Vollversion wechseln!
Zitat von Ringding
und das braucht eine minute ???
Zitat von Yeahmanrein interessenshalber, was sagt der Profiler und wie lange dauerts im query analyzer?
37 sekunden für a count(*)?
-> schmeiss deine datenbank weg, die taugt nix.
Zitat von .deRElict.37 sekunden für a count(*)?
-> schmeiss deine datenbank weg, die taugt nix.
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
Zitat von .deRElict.Er fetcht eh ned alle gleichzeitig sondern will nur mal die Anzahl wissen
ich würd was anderes als einen 486 verwenden, weil für sowas simples schafft sogar irgendein grindiger filemaker-pseudo-db schneller...
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.
Zitat von noledgeich würd was anderes als einen 486 verwenden, weil für sowas simples schafft sogar irgendein grindiger filemaker-pseudo-db schneller...
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?
Zitat von Maxx666ach ja, genau....vielleicht sollte ich doch nicht den 386er verwenden...
gute idee
Zitat von .deRElict.Ich frag mich, wie man eine db verhunzt, dass ein pure "count (*) from table;" länger als a paar taktzyklen dauert
Zitat von RingdingDas 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.
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.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025