Skip to content

Commit 488a0dd

Browse files
committed
select_random_ranges: add secondary_ranges == 3 for mysql mrr range_size rows
1 parent 0f10d07 commit 488a0dd

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/lua/select_random_ranges.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ function thread_init()
5151
SELECT count(*), sum(length(c)) FROM sbtest1 WHERE id IN
5252
(SELECT * FROM (SELECT id FROM sbtest1 WHERE %s LIMIT %d) as t)]],
5353
ranges, sysbench.opt.range_size))
54+
elseif (sysbench.opt.secondary_ranges == 3) then
55+
-- MySQL does not generate MRR query plan for secondary_ranges == 2,
56+
-- We add secondary_ranges == 3 as the query for get range_size rows
57+
-- by MRR, secondary_ranges == 1 likely get more rows than range_size.
58+
stmt = con:prepare(string.format([[
59+
SELECT length(c)
60+
FROM sbtest1
61+
WHERE %s LIMIT %d]], ranges, sysbench.opt.range_size))
5462
else
5563
stmt = con:prepare(string.format([[
5664
SELECT sum(length(c))

0 commit comments

Comments
 (0)