maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #03263
New (by Psergey): Add DS-MRR support for clustered primary keys (121)
-----------------------------------------------------------------------
WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...........: Add DS-MRR support for clustered primary keys
CREATION DATE..: Sat, 12 Jun 2010, 08:23
SUPERVISOR.....: Igor
IMPLEMENTOR....:
COPIES TO......:
CATEGORY.......: Client-BackLog
TASK ID........: 121 (http://askmonty.org/worklog/?tid=121)
VERSION........: Benchmarks-3.0
STATUS.........: Un-Assigned
PRIORITY.......: 60
WORKED HOURS...: 0
ESTIMATE.......: 0 (hours remain)
ORIG. ESTIMATE.: 0
PROGRESS NOTES:
DESCRIPTION:
Currently, DS-MRR doesn't support operation over clustered primary keys. The
reason for this was that
- Clustered primary keys are stored in disk order and so, if the sequence of
ranges is ordered, the reads will already go in disk order (and so DS-MRR's
step of re-ordering reads is not necessary).
- Within DS-MRR implementation, the "get rowids from keys" step is not
necessary when using clustered primary key, because in InnoDB/XtraDB
clustered primary key values are the rowids.
However, with BKA making the MRR calls, there are cases where DS-MRR over
clustered primary key is beneficial:
* BKA may provide lookup keys that have duplicates and/or are in arbitrary
order. In that case, DS-MRR implementation may sort the key values and
order them, so that it hits the disk in key order.
* When running multi-table join with high @@join_cache_level value (and so,
linked join buffers), lack of MRR implementation causes the chain of linked
join buffers to break. (TODO and so what? Is that really a problem?)
* TODO anything else?
ESTIMATED WORK TIME
ESTIMATED COMPLETION DATE
-----------------------------------------------------------------------
WorkLog (v3.5.9)