SQL Server: priorité entre transactions, ça existe ?

SQL Server: priorité entre transactions, ça existe ? - SQL/NoSQL - Programmation

Marsh Posté le 09-03-2006 à 18:21:16    

Hello,
 
J'ai une appli qui fonctionne sous MSDE (moteur SQL Server bridé) et j'ai un soucis actuellement:
 
J'ai un gros traitement dans une transaction (qui dure genre 30 secondes), du coup ça me bouffe 100% du CPU et bloque quasiment tous les autres traitements.
 
ma question est: est-il de baisser le niveau de priorité de cette transaction afin de ne pas pénaliser les autres traitements ?
Pour info, j'ai essayé de jouer avec les isolationlevel, mais ça ne règle rien à mon problème.


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 09-03-2006 à 18:21:16   

Reply

Marsh Posté le 10-03-2006 à 09:27:38    

voilà ce que j'ai pu trouver sur google ...
 
http://www.developpez.net/forums/v [...] p?t=461588
 
Apparement c'est pas possible sur SQL server 2000.

Reply

Marsh Posté le 10-03-2006 à 09:54:04    

jeoff a écrit :

voilà ce que j'ai pu trouver sur google ...
 
http://www.developpez.net/forums/v [...] p?t=461588
 
Apparement c'est pas possible sur SQL server 2000.


Arf, y'a plus qu'a espérer que ça soit implémenté sous SQL Server 2005


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 10-03-2006 à 10:31:27    

La/les requête(s) sont optimisables ?

Reply

Marsh Posté le 10-03-2006 à 10:39:13    

jeoff a écrit :

La/les requête(s) sont optimisables ?


nan, elles sont déjà optimisées au taquet.
Mais dans une transaction, j'ai à peu près 100 000 enregitrements à mettre à jour.
 
mais j'e suis en train de tester avec le IsolationLevel à ReadUncommited qui semble finalement convenir


---------------
༼ つ ◕_◕ ༽つ
Reply

Marsh Posté le 10-03-2006 à 15:45:32    

surtout, tu peux bosser dans une table temporaire (si possible dans on fichier de base temporaire, sur un autre disque et tout), afin de ne pas locker la/les tables en cours de modification (et dans le cas où c'est sur un autre disque, sans pénaliser les IO sur la base), puis écraser à la bourrin le résultat d'un coup une fois fini.
 
généralement un long traitement bloque un serveur non pas à cause de la charge serveur, mais surtout à cause des locks dans les tables.


Message édité par Arjuna le 10-03-2006 à 15:46:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed