Tools and Examples

Core Stored Procedures (Recap)

  • spMFSetup_Reporting

  • spMFCreateTable / spMFCreateAllMFTables

  • spMFUpdateTable / spMFUpdateTableInBatches

  • spMFUpdateMFilesToMFSQL

  • spMFUpdateAllIncludedInAppTables

  • spMFClassTableStats

  • spMFGetMfilesLog (event log export)

Helper Functions

  • fnMFParseDelimitedString: Split multi‑lookup delimited list for joins.

Inspection Queries

Class Portfolio .. code:: sql

SELECT Name, IncludeInApp, LastObjectCount, LastUpdateOnUTC FROM dbo.MFClass WHERE IncludeInApp = 1 ORDER BY Name;

Recent Batch Outcomes .. code:: sql

SELECT TOP 50 ProcessBatch_ID, CreatedOnUTC, Status, LogText FROM dbo.MFProcessBatch ORDER BY ProcessBatch_ID DESC;

Batch Detail (Verbose) .. code:: sql

SELECT TOP 100 pbd.ProcessBatch_ID, pbd.ColumnName, pbd.ColumnValue FROM dbo.MFProcessBatchDetail pbd ORDER BY pbd.ProcessBatch_ID DESC;

High Churn Classes (Last Hour) .. code:: sql

SELECT mc.Name, COUNT(*) AS ChangeRows FROM dbo.MFProcessBatchDetail pbd INNER JOIN dbo.MFProcessBatch pb ON pb.ProcessBatch_ID = pbd.ProcessBatch_ID INNER JOIN dbo.MFClass mc ON pbd.Class_ID = mc.Class_ID WHERE pb.CreatedOnUTC > DATEADD(HOUR,-1, SYSUTCDATETIME()) GROUP BY mc.Name ORDER BY ChangeRows DESC;

Explode Multi‑Lookup Example

SELECT so.ObjID, f.ListItem AS CustomerID
FROM MFSalesOrder so
CROSS APPLY dbo.fnMFParseDelimitedString(so.Customer_ID, ',') f;

Analytic View Pattern

CREATE VIEW custom.vwInvoiceTotals AS
SELECT InvoiceDate, Customer, SUM(TotalAmount) AS Total
FROM MFInvoice
GROUP BY InvoiceDate, Customer;

Row Drift Audit (Random Sample)

SELECT TOP 20 * FROM MFInvoice ORDER BY NEWID();

Event Log Join Sketch

SELECT e.ID, e.TimeStamp, e.Type, t.NameOrTitle, t.ObjID
FROM MFilesEvents e
CROSS APPLY (SELECT e.Events.value('(/event/data/objectversion/objver/objid)[1]','int') AS ObjID,
                    e.Events.value('(/event/data/objectversion/title)[1]','nvarchar(255)') AS NameOrTitle) t
INNER JOIN MFInvoice i ON i.ObjID = t.ObjID;

Next

Performance tuning: Performance and Optimization