Database Reference
In-Depth Information
then run your queries that you expect to benefit from the defined indexes. Finally,
come back to the admin interface, click Disable Tracing, and go to the Indexes tab.
You should see something like
Figure 11-2
.
Figure 11-2. Index usage output
The most interesting entries here are probably the ones marked “No index.” Double-
check these to make sure this value is indeed what you expect, and if not, try to fix
them using the information in
“Using Indexes” on page 279
.
There is an option on the Query Profiling page called “Write additional info to log.”
If you select this, additional tracing information regarding indexes is written to
$EXIST_HOME/webapp/WEB-INF/logs/profile.log
.
Tracing the Optimizer
If you need to investigate the details of what the optimizer is doing, you can enable
tracing log output. This will give you a detailed list of all the (normally invisible)
decisions and optimizations made.
To enable tracing, change eXist's root logging level to
trace
by opening
$EXIST_HOME/log4j.xml
and searching for the
root
element (probably at the bot‐
tom of the file). You should see something like this:
<root>
<priority
value=
"info"
/>
<appender-ref
ref=
"exist.core"
/>
</root>
Change the priority to
<priority value="trace"/>
, restart eXist, and rerun the
scripts you want to examine. The
$EXIST_HOME/webapp/WEB-INF/logs/exist.log
file should now contain lots of detailed information regarding your queries and their
optimizations.
Don't forget to reset the priority to
<priority value="info"/>
(and restart) after
you're done; otherwise, the logfile will quickly fill up your disk!
Search WWH ::
Custom Search