-
SQL Server et blob
Etant actuellement stagiaire je développe un outil de benchmark permettant de comparer les performances de différents systèmes de base de données.
Je me permets donc de vous écrire car lors de mes tests sur une base de données SQL Server, j’obtiens un deadlock sur une table contenant des blobs au moment où plusieurs utilisateurs y font des updates.
Ce problème ne survenant qu’avec le moteur de base de données SQL Server et que sur une table contenant des blobs ( lorsque je créée la même table en enlevant les champs blob l’erreur ne se produit pas). J’aurais aimé savoir si les champs blob et les deadlock étaient liés et si oui comment éviter le deadlock.
Merci à l'avance pour votre aide.
-
je crois que les types blob en SQL server limite la taille des lignes à 8k.
Travaillant sur plusieurs bases également, nous avons choisi de remplacer le type BLOB par varbinary(max) sous SQL server.
voici un lien intéressant je pense pour avoir une idée sur la question des blob avec MS sql:
http://www.sqlmag.com/article/tsql3/...tames-the-blob
et pour les deadlock, "problème de mise à jour d'un même champ par 2 sessions différentes au même moment" :
http://www.mssqltips.com/sqlserverti...ver-deadlocks/
-
Les types LOB (Large OBject) sont deux 3 familles :
- BLOB : Binary LOB, soit VARBINARY(max)
- CLOB : Character LOB, soit VARCHAR(max)
- NCLOB : National Character LOB, soit NVARCHAR(max)
Ceci depuis SQL Server 2005 et tous sont limité à 2 Go
Anciennement les types TEXT, NTEXT et IMAGE était utilisés, mais ils sont dépréciés.
Pour les types chaines, SQL Server peut monter jusqu'à :
- CHAR/VARCHAR(8000)
- NCHAR/NVARCHAR(4000)
A +