"We are back" « oc.at

sql session

Nurmi 02.03.2002 - 12:31 796 7
Posts

Nurmi

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
was ist besser?
für jeden antrag eine session zu öffnen und dann glei wieder die verbindung zur DB closen oder
die verbindung erst zu closen wenn der user die Hp verläßt?

ich hab da keinerlei erfahrungswerte...

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
also normalerweise schaut man ja, dass man alles, was man bekommt/sich nimmt/öffnet (connections, locks, usw) asap wieder zurückgibt/closed.

kommt aber immer auf die zahl der user an, auf die art der queries, auf die komplexität der queries, usw

ich würde beides ausprobieren und dann performance unter hochlast testen (auf jeden fall >100 user). dann siehst eh, obs probleme, locks oder slow queries gibt, die kannst dann entsprechend anpassen.

Feef

Big d00d
Avatar
Registered: Jul 2001
Location: steiamoak
Posts: 234
aufmachen, einlesen, closen währe das beste
nur isses halt ein hoher programmieraufwand

dafür hast eine datenbankperformance die sich sehen lassen kann :) :fresserettich:

Nurmi

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
lool
genau so hob is gemacht...nur war ich mir dann schlußendlich nimma sicha ob des schnell genug is....

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Bei mir hat sich bisher die Methode rein-holen-raus sehr bewehrt :)!

Kann dir nur aus eigenen Erfahrungswerten sagen des das bei weitem schnell genug is!

Allerdings kommts halt auch noch drauf an was du wirklich mit den Daten machen willst!

Generell gesehen is es sowieso schlecht ne Session offen zu lassen wenn eigentlich nix gemacht wird!

Mfg, Vir@s

Yeahman

OC Addicted
Avatar
Registered: Jul 2001
Location: on top of my sol..
Posts: 1775
Du solltest so programmieren, das du nur 1x bis 2x Daten holst, und das an einer Stelle, damit hast du das Problem nicht.

-> Anfragen zusammenfassen

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Um die Resourcen des Datenbankservers zu schonen, solltest du Verbindungen immer nur so kurz wie möglich offen halten. Das ständige Öffnen/Schließen kostet allerdings auch einiges an Zeit. Unter Windows bietet sich die Verwendung von COM+ an, da wird automatisch Connection Pooling gemacht, sodass der SQL Server nicht überlastet wird durch zu viele offene Verbindungen, aber das Öffnen/Schließen der Verbindungen ist trotzdem so schnell, als würde die Verbindung offen bleiben.

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Zitat von Yeahman
Du solltest so programmieren, das du nur 1x bis 2x Daten holst, und das an einer Stelle, damit hast du das Problem nicht.

-> Anfragen zusammenfassen

Geb ich dir vollkommen recht!

Am besten ist sowieso wenn du eigentlich immer nur einen Kanal offen hast und der holt sich die Daten und gibts dann einfach weiter!

Auf jeden Fall gilt: max. 1 Verbindung pro script!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz