You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Kristian Waagan <kr...@oracle.com> on 2011/03/02 20:09:14 UTC

Automatic index cardinality statistics update - changes for 10.8

Hi,

The 10.8 release candidate will soon be created, and there are a few 
remaining decisions to make regarding the new "istat feature" (automatic 
update/creation of index cardinality statistics):
   a) Documentation, see DERBY-5083 and comments under DERBY-5051.
   b) Whether or not to enable logging by default, especially the 
processing stats summary printed on database shutdown. See comment under 
DERBY-5051.
   c) Whether or not to increase the table row count thresholds for 
statistics creation and update. These are currently 100 and 1000, 
respectively.


I don't have many cycles to spend before the RC is cut, but here are my 
thoughts:

   a) Now that a release note has been written, we probably have the 
minimum amount of documentation required. We probably don't want too 
much documentation in the manual(s), since the functionality may change 
based on user feedback from 10.8. As long as the user is told how to 
disable the feature, I think we're good. If someone wants to describe 
more of the feature, things like logging, tracing, and how 
updates/creations are triggered may be good points to cover.

   b) I see that Knut argued logging should be disabled by default in 
the production code. That's fine with me, the only thing we may loose 
[1] is basic information in the case of intermittent and rare scenarios.

   c) Since the thresholds are set based on gut-feeling, we may want to 
err on the side of caution instead of burning resources on generating 
statistics without much gain. Assuming the update threshold (basically 
the minimum number of rows in the table) is kept reasonably low, I would 
set the creation threshold  to the same value. The optimal value would 
be when having more accurate statistics would make the optimizer choose 
a significantly better plan.  An always correct value may not exist... 
Any suggestions?

Besides from these issues, I observe that one of the istat tests runs 
into an OOME on Java 5.0 and 1.4 (DERBY-5057), one of the istat tests 
fails on Windows due to problems deleting files [2], and one other 
intermittent test failure (DERBY-5045).
Did I miss anything?


Regards,
-- 
Kristian

[1] Assuming the user keeps the logs and comes to the Derby community 
for help.
[2] Hopefully masked/fixed by DERBY-4915 (will commit very soon).