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 "Kim Haase (JIRA)" <ji...@apache.org> on 2014/09/09 19:18:29 UTC

[jira] [Closed] (DERBY-1397) Tuning Guide: Puzzling optimizer documentation

     [ https://issues.apache.org/jira/browse/DERBY-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kim Haase closed DERBY-1397.
----------------------------
    Resolution: Won't Fix

The first issue raised has been resolved. After much discussion, the decision was made to leave the property undocumented and work on providing a better default value for memory use per table. 

> 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
>              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.3.4#6332)