While watching the output window I noticed that when my app is writing data to the database, especially when I have auditing enabled, I see several insert statements running. An example is below
I believe that there can be some significant performance benefit if I compress this (to three SQL Statements, 1 for each table in this case) using XML
How can I accomplish this for the AuditTables?
SQLDECLARE @input XML = '<dataset>
<metadata>
<item name="NAME_LAST" type="xs:string" length="62" />
<item name="NAME_FIRST" type="xs:string" length="62" />
<item name="NAME_MIDDLE" type="xs:string" length="32" />
</metadata>
<data>
<row>
<value>SMITH</value>
<value>MARY</value>
<value>N</value>
</row>
<row>
<value>SMITH2</value>
<value>MARY2</value>
<value>N2</value>
</row>
</data>
</dataset>'
INSERT INTO dbo.YourTable(ColName, ColFirstName, ColOther)
SELECT
Name = XCol.value('(value)[1]','varchar(25)'),
FirstName = XCol.value('(value)[2]','varchar(25)'),
OtherValue = XCol.value('(value)[3]','varchar(25)')
FROM
@input.nodes('/dataset/data/row') AS XTbl(XCol)
19.12.16 07:34:20.066 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.099 Executing sql 'insert into "dbo"."AuditedObjectWeakReference"
19.12.16 07:34:20.134 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.162 Executing sql 'insert into "dbo"."AuditedObjectWeakReference"
19.12.16 07:34:20.204 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.233 Executing sql 'insert into "dbo"."AuditedObjectWeakReference"
19.12.16 07:34:20.254 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.288 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.314 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.352 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.373 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.406 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.446 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.472 Executing sql 'insert into "dbo"."XPWeakReference"
19.12.16 07:34:20.496 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.531 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.578 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.608 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.656 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.688 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.728 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.756 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.786 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.814 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.848 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.878 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.936 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:20.978 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:21.005 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:21.038 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:21.077 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:21.105 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:21.133 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:21.193 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
19.12.16 07:34:21.232 Executing sql 'insert into "dbo"."AuditDataItemPersistent"
Hello Fitzroy,
We need additional time to research this issue. Please bear with us. We will get back to you as soon as possible.