SIFT Tuning and Tracing

As a result of using indexed views, SIFT keys are exposed to SQL Server tracing and tuning tools. For example, the SQL Server profiler can display information about which indexed views are maintained for a specific table. This makes it easy for you to assess the cost of maintaining SIFT keys and allows you to make informed decisions about any adjustments that might be required.

SIFT Keys

When data is inserted, updated, or deleted in a table, the SIFT keys that have been defined and enabled for that table are maintained. Maintaining these SIFT indexes has performance overhead. The size of the performance overhead depends on the number of keys and SumIndexFields that have been defined for each table. You should therefore give careful consideration to the number of SIFT keys that you define and only maintain the SIFT keys that are important for your application.

There is no need to maintain a SIFT key for a total that is only used periodically and can be easily generated by a report. You can still program Business Central to calculate the SIFT based totals even if the SIFT key is disabled. The calculation is performed directly on the base table.

You should consider combining indexes wherever possible.

Example

Maintaining two SIFT keys:

  1. Key: "WareHouseId, ItemId, Color" SumField: "OnStock"

  2. Key: "WareHouseId, ItemId, Size" SumField: "OnStock"

If there are only a few combinations of Size and Color (for example, less than 200), then one combined index/SIFT key should be sufficient.

  1. The Combined Key:

  2. "WareHouseId, ItemId, Color, Size" SumFIeld: "OnStock"

When you set the MaintainSIFTIndex Property of a key to True, this will be the SIFT key and create the indexed view to support it. However, disabling the SIFT key by setting MaintainSIFTIndex Property to False can improve performance in certain circumstances. Setting this property to False means that the SIFT functionality must be implemented by calculating the totals online instead of using the precalculated sums that are maintained by SIFT.

See Also

SumIndexField Technology (SIFT)
SIFT and SQL Server
SIFT Performance Migrating from SIFT to NCCI FlowFields