Massive Items UDPs performance API vs DB

Massive Items UDPs performance API vs DB

GabrieleZelasco
Enthusiast Enthusiast
94 Views
0 Replies
Message 1 of 1

Massive Items UDPs performance API vs DB

GabrieleZelasco
Enthusiast
Enthusiast

Good morning, in our solution we use Autodesk Vault 2023 SDK to integrate an item classification system (winforms c#7.3 - net framework 4.7.2).
There are currently around 270,000 items.

In response to user operations on the classification treeview, we need to perform massive updates of user-defined properties (UDPs) for items.
The number of items to be updated is therefore variable: it can be a few hundred or tens of thousands.

The ideal goal would be to update items as quickly as possible (within a few minutes at most).
I therefore performed a mass update test of a single UDP (with the same value for all items) in order to detect the processing times.

As per the manual, I used the usual commands in the SDK (EditItems, UpdateItemProperties, UpdateAndCommitItems).

I tried both updating one item at a time in a for each loop and bulk updating by passing the arrays to the commands, but the average times are still too high for our needs (about 1.4s for a single item in a for each loop, about 0.6s in bulk update).
This means, for example, for 20,000 items, from 3.5 hours (bulk) to almost 8 hours (single).

By the way: I noticed that the times vary greatly if you assign a value to a UDP that has not yet been evaluated and one that has already been evaluated. Much faster in the second case, but still too slow for our purposes.

I also tried bulk updates using controlled batches (e.g. 200 items at a time), but even then, the times did not improve.

The last scenario we would like to consider is direct updating of the database. We are quite familiar with the structure of the tables and the underlying logic. However, bypassing the Vault service requires a rebuild index to make the updated values available in the Vault interface. This is also not immediate.

I would like to ask you for your thoughts or experiences on this matter.
Which approach would you recommend?
Given the specifications, do you have any alternative ideas?

Thank you all for your cooperation and support.

0 Likes
95 Views
0 Replies
Replies (0)