[ 
https://issues.apache.org/jira/browse/DERBY-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13798999#comment-13798999
 ] 

Knut Anders Hatlen commented on DERBY-1397:
-------------------------------------------

There's also DERBY-4620 where a user got an OutOfMemoryError because the hash 
joins took too much memory. Note that the memory estimates are not very 
accurate currently, so the actual size memory footprint of the hash tables 
could be considerably higher than what's specified in 
derby.language.maxMemoryPerTable. I agree that it's probably better to leave 
this property undocumented and try to come up with a better (possibly dynamic) 
default. There's some discussion about that too in DERBY-4620.

> Tuning Guide: Puzzling optimizer documentation
> ----------------------------------------------
>
>                 Key: DERBY-1397
>                 URL: https://issues.apache.org/jira/browse/DERBY-1397
>             Project: Derby
>          Issue Type: Bug
>          Components: Documentation
>    Affects Versions: 10.2.1.6
>            Reporter: Rick Hillegas
>            Assignee: Kim Haase
>              Labels: derby_triage10_5_2
>
>  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.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to