Improving performance with a covering index

Doing repeated database queries against a generic physical table (such as DefaultRateFactorRow) can cause performance issues.

If a rate table is large enough to warrant running the queries in the database, configure the physical table to have a custom row entity with a covering index. The covering index on the row entity includes the foreign key to the RateTable, the Retired property, and all parameters and factors.

For example, you have a custom row entity, CustomFactor. This row contains properties for parameters named OptCode and Jurisdiction. The index for this row begins with the foreign key to rate table and Retired, followed by the parameters and factors:

<index
    name="factorlookup"
    desc="Speeds lookup queries against this table.">
    <indexcol
      name="RateTable"
      keyposition="1"/>
    <indexcol
      name="Retired"
      keyposition="2"/>
    <indexcol
      name="OptCode"
      keyposition="5"/>
    <indexcol
      name="Jurisdiction"
      keyposition="6"/>
      name="Factor"
      keyposition="7"/>
</index>

See also