Initializing help system before first use

Controlling Post-execution Mirror Table Production

Mirror population can also be performed when a scenario is executed. Populating the mirror at this stage can improve responsiveness when opening a Tableau view - the table will already be populated.

The drawback is increasing execution time and populating the mirror with data that may never be used.

By default Xpress Insight automatically populates mirror tables post‑execution when they contain up to 50k rows. Larger tables are left to be populated on-demand. This approach balances Tableau view responsiveness, database volumes, and execution time and should be suitable for most apps.

This default behavior can be overridden to configure which tables are populated post-execution; whether all, some, or none. Typically, large tables should be mirrored on-demand. Usage patterns within an app may benefit from ensuring a specific large table is always populated post-execution. The data would be mirrored ahead of time, hence opening the Tableau view is more responsive.

The following example forces the interval table to always be populated post-execution, regardless of size.
<database-mirror table-prefix="facility_">
  <mirror-tables>
    <mirror-table name="clients">
      <entity name="CLIENT_LATITUDE"/>
      <entity name="CLIENT_LONGITUDE"/>
      <entity name="DEM"/>
    </mirror-table>
    <mirror-table name="interval" sync-after-execution="true">
      <entity name="INTERVAL_START"/>
      <entity name="INTERVAL_DURATION"/>
    </mirror-table>
  </mirror-tables>
</database-mirror>
The sync-after-execution attribute on database-mirror determines the default behavior of each mirror table. The following example configures the default post-execution behavior always to populate and the interval table never to populate post-execution.
<database-mirror table-prefix="facility_"
                 sync-after-execution="true">
  <mirror-tables>
    <mirror-table name="clients">
      <entity name="CLIENT_LATITUDE"/>
      <entity name="CLIENT_LONGITUDE"/>
      <entity name="DEM"/>
    </mirror-table>
    <mirror-table name="interval" sync-after-execution="false">
      <entity name="INTERVAL_START"/>
      <entity name="INTERVAL_DURATION"/>
    </mirror-table>
  </mirror-tables>
</database-mirror>