Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Done
-
None
-
None
-
None
Description
Hi!
I found that during condition checks on ordering cursor in join cursor, called extractor. This greatly reduce performance of join cursor, especially if cardinality of ordering cursor is big. As I understand, for checks on ordering cursor, calling of extractor can be avoided, using for comparing with conditions current value of ordering cursor key. Attached program demonstrate the problem. It has next output:
$ LD_LIBRARY_PATH=wt-2382-join-collator_libs/ ./jcursor_ord_extr
|
value from jcursor: key = 8, v1 = 8, v2 = 8
|
value from jcursor: key = 18, v1 = 18, v2 = 8
|
value from jcursor: key = 28, v1 = 28, v2 = 8
|
value from jcursor: key = 38, v1 = 38, v2 = 8
|
value from jcursor: key = 48, v1 = 48, v2 = 8
|
value from jcursor: key = 58, v1 = 58, v2 = 8
|
value from jcursor: key = 68, v1 = 68, v2 = 8
|
value from jcursor: key = 78, v1 = 78, v2 = 8
|
value from jcursor: key = 88, v1 = 88, v2 = 8
|
value from jcursor: key = 98, v1 = 98, v2 = 8
|
Error: extractor for ordering index should not be called. s_extractor1_calls = 100
|
Attachments
Issue Links
- is depended on by
-
SERVER-23140 WiredTiger changes for MongoDB 3.3.4
-
- Closed
-
- is related to
-
WT-2447 join cursor reads main table
-
- Closed
-