Performance and Scaling¶
Focus Areas¶
Narrow scope where practical (ObjID lists, date windows).
Reuse ProcessBatch context for traceability.
Maintain supporting indexes on frequently filtered columns (Process_ID, LastModified, Workflow_State).
Avoid unnecessary full-table scans in recurring jobs.
Index Considerations¶
Suggested nonclustered index pattern (evaluate fragmentation vs. benefit):
CREATE NONCLUSTERED INDEX IX_<ClassTable>_Process_LastModified
ON dbo.MFCustomer (Process_ID, LastModified);
Large Volume Updates¶
Partition large batches (spMFUpdateTable_ObjIDs_Grouped).
Stage candidate keys into a temp table, join back for marking Process_ID.
Measure round-trip latency to M-Files; avoid oversaturating vault operations.
Concurrency¶
Run metadata sync (structure) separate from heavy update cycles to avoid locks during DDL adjustments.
Monitoring¶
Use: - spMFProcessBatch_Upsert - spMFGetMfilesLog - spMFTableAudit
Example:
EXEC dbo.spMFGetMfilesLog
@Top = 200,
@OrderDescending = 1;