The ConText server takes full advantage of the array interface to the Oracle database to reduce the number of required network round trips during indexing. Specifically, when documents are retrieved from the database, they are fetched in batches for indexing. Additionally, the index is flushed back to the database only after the indexing memory has been filled. This flush also utilizes array inserts into the database, reducing the number of network hits. The hitlist result table may be shared by all users or may be specific to the user running the query.
Performance is better if each user has a unique hitlist table.
This is because the query on the hitlist to get the result set doesn't require a filter if the hitlist is not shared. Additionally, the hitlist table can be truncated rather than deleted from when it is not shared. Truncating is much faster than deleting from a table and has the added benefit of generating no redo log. Finally, the hitlist table should be in a datafile that is on a raw partition. This will result in faster writes and reads from the table.