[MDEV-4552] Testing for MDEV-4345 (sampling probably selective predicates) Created: 2013-05-20  Updated: 2015-05-20  Resolved: 2015-05-20

Status: Closed
Project: MariaDB Server
Component/s: Tests
Fix Version/s: N/A

Type: Task Priority: Minor
Reporter: Elena Stepanova Assignee: Elena Stepanova
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
is blocked by MDEV-4428 MWL#253: Assertion `join->best_read <... Closed
is blocked by MDEV-4429 MWL#253: Assertion `join->best_read <... Closed
Relates
relates to MDEV-4345 Fix table selectivity by sampling som... Closed

 Description   

Development task: MDEV-4345
LP tree: lp:maria/10.0

New variable/option:
optimizer_selectivity_sampling_limit (default 100)

+ Controls number of record samples to check condition
+ selectivity
 
+  ulong check_rows=
+    min(thd->variables.optimizer_selectivity_sampling_limit,
+        (ulong) (table_records * SELECTIVITY_SAMPLING_SHARE));
+  if (cond && check_rows > SELECTIVITY_SAMPLING_THRESHOLD &&
+      thd->variables.optimizer_use_condition_selectivity > 4)
+#define SELECTIVITY_SAMPLING_SHARE 0.10
+#define SELECTIVITY_SAMPLING_LIMIT 5000
  
 
+/* check this number of rows (default value) */
+#define SELECTIVITY_SAMPLING_LIMIT 5000
+/* but no more then this part of table (10%) */
+#define SELECTIVITY_SAMPLING_SHARE 0.10
+/* do not check if we are going check less then this number of records */
+#define SELECTIVITY_SAMPLING_THRESHOLD 10
+       "5 - additionally use selectivity of certain non-range predicates "
+       "calculated on record samples",



 Comments   
Comment by Elena Stepanova [ 2013-05-21 ]

Ran a set of comparison tests on 10.0 revno 3749. Server parameters:

        --mysqld1=--use_stat_tables=PREFERABLY
        --mysqld1='--optimizer_use_condition_selectivity=5 --mysqld1=--histogram_size=100 --mysqld1=--histogram_type=DOUBLE_PREC_HB',
        --mysqld1='--optimizer_use_condition_selectivity=5 --mysqld1=--histogram_size=50 --mysqld1=--histogram_type=SINGLE_PREC_HB'

(the baseline is the same server but without the options listed above).

Numerous tests failed with assertion failures similar to MDEV-4428, MDEV-4429 (they all look similar until one is fixed and others still fail).
A few tests failed with known unrelated bugs.
It's going to be hard to continue the tests until the family of assertion `join->best_read < double(...) failures is fixed, but they're currently waiting for their turn in the bug queue.

Comment by Elena Stepanova [ 2015-05-20 ]

Further testing has been and will be performed as a part of regression tests.

Generated at Thu Feb 08 06:57:18 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.