Specifying a threshold value for indexing
If cost-based optimization is enabled and you provide values for the map and join column properties, the Actuate SQL compiler creates an index when 100 rows are materialized in memory during query execution. You can change the number of materialized rows that triggers indexing using the pragma MinRowsForIndexing.
If cost-based optimization is disabled, or you do not provide values for the map and join column properties, an index is created for materialized rows if a suitable column is available.
For example, to change the number of materialized rows that triggers indexing to 1000, set the pragma MinRowsForIndexing to 1000:
PRAGMA "MinRowsForIndexing" := '1000'
SELECT
  NATION.N_NAME,
  SUM(LINEITEM.L_EXTENDEDPRICE * (1 - LINEITEM.L_DISCOUNT)) AS Revenue
FROM
  "/SQL_Server/CUSTOMER.SMA" CUSTOMER,
  "/Oracle/ORDERS.SMA" ORDERS,
  "/SQL_Server/LINEITEM.SMA" LINEITEM,
  "/SQL_Server/SUPPLY.SMA" SUPPLY,
  "/Oracle/NATION.SMA" NATION,
  "/Oracle/REGION.SMA" REGION
WHERE
  
Specifying the number of materialized rows that triggers indexing for an information object has no effect on queries that use the information object.
You can specify the number of materialized rows that triggers indexing for all information object queries by setting the BIRT iServer configuration variable Minimum rows to trigger creation of an index during materialize operation. For more information about Actuate iServer configuration variables, see Configuring BIRT iServer. 

Additional Links:

Copyright Actuate Corporation 2012