Controlling Large Queries

With a very large database, you may want to control how large reports are run, restricting users from doing repeated queries which may each try to return hundreds of thousands or more records. Use these behavior settings to provide some sensible constraints:

  • ALLOW_UNLIMITED_SEARCH – This behavior setting can be used to turn off the ability to perform unrestricted queries on the database. When this setting is set to NO, it is used in conjunction with the next setting, LIMIT_QUERY_ROWS
  • LIMIT_QUERY_ROWS – This sets a numeric limit on the number of rows returned by a single user’s query. This has no effect if ALLOWED_UNLIMITED_SEARCH is set to YES
  • MINIMUM_SEARCH_FIELDS – This setting is used to force a user to select a number of filters before their queries will be executed. If you specify a single number, then this specifies the number of filters in addition to the KEYWORD filter that must be provided. If you provide two numbers, separated by a comma, then the first number specifies the number of filters in addition to the KEYWORD filter that must be provided and the second number specifies the number of filters that must be provided when no KEYWORD filter is provided. The default is 0,0. For large databases, a setting of 2 or 3 for each number typically provides sufficient control, to ensure that only a small section of the database is searched at one time, and that users do not attempt to download millions of records or perform complex queries across millions of records.

    If the user has selected the advanced query mode, ExtraView only counts the conjunctions with an and conjunction. The other conjunctions do not restrict the query keyword query.