As We are working on a asp .net project there three ways one can update data into database when there are multiple rows updation / insertion required
Let's assume we need to update employee education detail (which could be 1,3,5 or 10 records)
Method to Update Data
Pass value as parameter (Traditional approach), If 10 records are there then 10 round trip required
Pass data as xml and write logic inside your stored procedure to get that data from xml and update the table (only single roundtrip required)
Use Table valued parameters (only single roundtrip required)
Note : Data is available as List, so i need to convert it to xml or any other format if i need to pass.
There are no. of places in entire application we need to update data in bulk (or multiple records)
I just need your suggestions that
Which method will be faster (please mention if there are some other overheads)
Manageability or testability concern with any approach
Any other bottleneck or issue with any of the approach (Serialization /Deserialization concern or limit on size of the data passing)
Any other method you suggest for same operations
Thanks
The Table-Valued Parameter approach will most likely be the best approach, since you can update a whole batch of rows at once; after all, you get a table which you can join against easily.
The other approaches both are either row-by-row which is inherently slower, or require a fair bit of mucking on the SQL Server side of thing; this is not only not really fun, usually, but also more error-prone and typically less performant than just simply joining two tables.
This is exactly the scenario the TVP have been introduced for - to solve that "row-by-row" or "messing-around-with-XML" problem. I would believe there's a good reason for Microsoft to introduce this, and if they do, you should definitely give it a good try and see if it works.
But again: that's just a "gut feeling" without really knowing all your details. Only you can really find this out, for yourself, by testing all three options. There are a plethora of other effects and parameters that might come into play that anyone answering can't possibly know....
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With