Hello!
I have made my first proof of concept with NHibernate (1.2.0 alpha), in which I load an object and change one property of it.
Tracing the SQL received by the database I have observed that NHibernate is using a SET statament where it updates many fields, instead of only updating the one that has been changed:
Code:
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;BEGIN TRANSACTION
exec sp_executesql N'SELECT irmtermina0_.IDTERMINAL as IDTERMINAL0_, irmtermina0_.NAME as NAME1_0_, irmtermina0_.ISADTERMINAL as ISADTERM4_1_0_, irmtermina0_.GUID as GUID1_0_ FROM IRM_TERMINALS irmtermina0_ WHERE irmtermina0_.IDTERMINAL=@p0', N'@p0 int', @p0 = 22467
exec sp_executesql N'UPDATE IRM_TERMINALS SET NAME = @p0, ISADTERMINAL = @p1, GUID = @p2 WHERE IDTERMINAL = @p3', N'@p0 nvarchar(4000),@p1 bit,@p2 nvarchar(4000),@p3 int', @p0 = N'MUX-11MUX-11MUX-11MUX-11', @p1 = 0, @p2 = N'43a1a195-ace6-4939-aed1-416805dd578e', @p3 = 22467
COMMIT TRANSACTION
Does anybody know how to avoid this to improve performance? Is this a feature that is not yet implemented??
Thanks in advance.
Andrés G. Aragoneses [ knocte ]
--