close

Filter

loading table of contents...

Content Server Manual / Version 2304

Table Of Contents

3.13.2.5 DBIndex

The dbindex utility is intended for creating an index over the folder structure of your CoreMedia CMS repository. This index will enhance the speed of a query using BELOW query clauses. However, maintaining this index may affect the performance of the server, especially if you restructure large folders frequently. There is no need to create the index if BELOW queries are used rarely or the folder tree is small. The performance of BELOW queries without index was improved significantly in version 2301.1, and while the folder index can still offer slightly better query performance, query performance without such an index can be acceptable for many use cases.

You cannot access the CoreMedia CMS repository for some minutes after start of the utility.

Note

Note

A log message like this "Warning: cap.server.store: SQL Query: finding candidate folders for query takes a long time (5008ms for 348 folders so far); consider activating the folder index or enabling recursive common table expressions for sql statements with 'sql.store.use-ctes-for-below-queries=true'" is a good pointer, that BELOW queries are executed quite inefficiently. You should use the dbindex tool to create a folder index, or enable more efficient queries without index by setting the mentioned property sql.store.use-ctes-for-below-queries to its default value true.

usage: cm dbindex -u <user> [other options] [ --create | --drop |
          --rebuild | --enable | --disable ]
available options:
 -b,--rebuild               rebuild index
 -c,--create                create index
 -r,--drop                  drop index
 -e,--enable                enable index
 -i,--disable               disable index
 -p,--password <password>   password for login
 -d,--domain <domain name> domain for login (default=<builtin>)
 -u,--user <user name>      user for login (required)
 -url <ior url>             url to connect to
 -v,--verbose                enables verbose output

The options have the following meaning:

Parameter Description
-b Rebuild the existing index. You need this only in exceptional cases. Normally you will create or enable the index.
-c Create the index for the first time or after you dropped it.
-r Drop the index.
-e Enable the index after you temporarily disabled it. After major changes in the folder structure it might be faster to drop and create the index.
-i Temporarily disable the index. You might want to do so for some fast changes in the folder structure.

Table 3.30. Options of dbindex


After changes in the folder structure have been made, the index is automatically updated while the content server is online. If a large portion of the folder structure changes, that is several moves of large sub trees have been made, this may take a moment. So, there can be a short delay in BELOW queries afterwards. You can change the value of configuration property sql.store.folder-index-timeout to reduce the wait time by not using the folder index for a query, if updating the folder index takes a long time.

The index is automatically created for Content Management Server and Master Live Server when they are started for the first time on an empty database. It is not automatically created for a Replication Live Server. To avoid unnecessary updates of the database, the index should only be enabled on servers if BELOW queries are used. BELOW queries are used for example by the Content Feeder and CAE Feeder.

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.