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

Dag H. Wanvik commented on DERBY-3790:
--------------------------------------

Thanks, Kristian! I have gone though 1b, and it looks good: +1

Small (optional) comments:

- DiposableIndexStatistics#insertData

  * "int reducedRowNumber = ROW_COUNT / 3": Would be nice to have a
  comment why this table receives fewer rows? Arbitrary or not?
  Same for ROW_COUNT really: does it need to be chosen within an
  interval currently for the test to work?

  * Magic constants: 2000, 19, 10?

- DiposableIndexStatistics#createAndPopulateTables
  * space after "+" (several instances):
        Assert.assertTrue(stats.getStatsTable(tbl).length == preFkAddition +1);

- The sleeps in KeepDiposableStatsPropertyTest and
  AutomaticIndexStatisticsTest#testNoUpdateTriggeredBySingleColumnUniqueIndex
  could be removed (future) if we augment the current
  WAIT_FOR_POST_COMMIT method to also wait for the istat daemon to
  complete its thing.

- Call "JDBC.assertDrainResultsHasData(stmt.executeQuery("select
  count(*) from " + TAB))" in KeepDiposableStatsPropertyTest might
  have a comment to say its there to trigger daemon to work.

                
> Investigate if request for update statistics can be skipped for certain kind 
> of indexes, one instance may be unique indexes based on one column.
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3790
>                 URL: https://issues.apache.org/jira/browse/DERBY-3790
>             Project: Derby
>          Issue Type: Improvement
>          Components: Store
>    Affects Versions: 10.5.1.1
>            Reporter: Mamta A. Satoor
>            Assignee: Kristian Waagan
>         Attachments: derby-3790-1a-skip_stats_scui.diff, 
> derby-3790-1b-skip_stats_scui.diff, derby-3790-1c-skip_stats_scui.diff
>
>
> DERBY-269 provided a manual way to update the statisitcs. There was some 
> discussion in that jira entry for possibly optimizing the cases where there 
> is no need to update the statistics. I will enter the related comments from 
> that jira entry here for reference.
> **************************
> Knut Anders Hatlen - 18/Jul/08 12:39 AM 
> If I have understood correctly, unique indexes always have up to date 
> cardinality statistics because cardinality == row count. If that's the case, 
> one possible optimization is to skip the unique indexes when 
> SYSCS_UPDATE_STATISTICS is called. 
> **************************
> **************************
> Mike Matrigali - 18/Jul/08 09:48 AM 
> is the cardinality of a unique index 1 or is it row count? 
> It is also more complicated than just skipping unique indexes, it depends on 
> the number of columns in the index because 
> in a multi-column index, multiple cardinalities are calculated. So for 
> instance on an index on columns A,B,C there are 
> actually 3 cardinalities calculated: 
> A 
> A,B 
> A,B,C 
> I agree that the calculation of cardinality of A,B,C could/should be short 
> circuited for a unique index. 
> **************************
> **************************
> Knut Anders Hatlen - 18/Jul/08 03:25 PM 
> Mike, 
> It looks to me as if the cardinality is the number of unique values, so I 
> think the cardinality of a unique index is equal to its row count (for the 
> full key, that is). You're right that we can't short circuit it if we have a 
> multi-column index. I don't know if it's worth the extra complexity to short 
> circuit the A,B,C case, since we'd have to scan the entire index anyway. For 
> a single-column unique index it sounds like a good idea, though. 
> **************************

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to