Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
10.2.1.6
-
None
-
Low
Description
Selectivity and cardinality statistics
Working with cardinality statistics
When cardinality statistics are automatically updated
"For other operations, Derby automatically updates statistics for the table and all indexes on the table if they are already exist. Those operations are:
- (all indexes) When you execute SYSCS_UTIL.SYSCS_COMPRESS_TABLE.
- (index only) When you drop a column that is part of a table's index; the statistics for the affected index are dropped, and statistics for the other indexes on the table are updated.
"
What does the second bullet mean? Derby doesn't let you drop a column from a table right now.
----------------------------------------------------------
Here's another puzzling piece of optimizer documentation:
I'm puzzled by the following paragraph in Tuning Guide->DML statements and performance->Performance and optimization->Joins and performance->Join strategies:
"If memory use is not a problem for your environment, set this property to a high number; allowing the optimizer the maximum flexibility in considering a join strategy queries involving large queries leads to better performance. It can also be set to smaller values for more limited environments."
I can't find the name of this property on that page of the Tuning Guide. I'm also confused about what we consider to be a "high number" versus what we consider to be "smaller values". Would appreciate advice here.
Satheesh adds this:
The property it may be referring to is
derby.language.maxMemoryPerTable. The default value is 1024 KB.
Current default value is too small, so it would be a good tip for
developers to know and tune this property. It would be great if Derby
can configure this property value based on factors like max heap size,
size of data cache and/or other parameters.
Attachments
Issue Links
- is related to
-
DERBY-4620 Query optimizer causes OOM error on a complex query
- Open