Content Server Manual / Version 2301
Table Of Contents
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
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.