1--source include/have_rocksdb.inc
2
3CREATE TABLE `linktable` (
4  `id1` bigint(20) unsigned NOT NULL DEFAULT '0',
5  `id1_type` int(10) unsigned NOT NULL DEFAULT '0',
6  `id2` bigint(20) unsigned NOT NULL DEFAULT '0',
7  `id2_type` int(10) unsigned NOT NULL DEFAULT '0',
8  `link_type` bigint(20) unsigned NOT NULL DEFAULT '0',
9  `visibility` tinyint(3) NOT NULL DEFAULT '0',
10  `data` varchar(255) NOT NULL DEFAULT '',
11  `time` bigint(20) unsigned NOT NULL DEFAULT '0',
12  `version` int(11) unsigned NOT NULL DEFAULT '0',
13  PRIMARY KEY (link_type, `id1`,`id2`) COMMENT 'cf_link_pk',
14  KEY `id1_type` (`id1`,`link_type`,`visibility`,`time`,`id2`,`version`,`data`) COMMENT 'rev:cf_link_id1_type'
15) ENGINE=RocksDB DEFAULT COLLATE=latin1_bin;
16--disable_query_log
17let $i = 1;
18while ($i <= 10000) {
19  let $insert = INSERT INTO linktable (id1, link_type, id2) values (1, 1, $i);
20  inc $i;
21  eval $insert;
22}
23--enable_query_log
24set global rocksdb_force_flush_memtable_now=1;
25
26insert into linktable (id1, link_type, id2) values (2, 1, 1);
27insert into linktable (id1, link_type, id2) values (2, 1, 2);
28insert into linktable (id1, link_type, id2) values (2, 1, 3);
29insert into linktable (id1, link_type, id2) values (2, 1, 4);
30insert into linktable (id1, link_type, id2) values (2, 1, 5);
31insert into linktable (id1, link_type, id2) values (2, 1, 6);
32insert into linktable (id1, link_type, id2) values (2, 1, 7);
33insert into linktable (id1, link_type, id2) values (2, 1, 8);
34insert into linktable (id1, link_type, id2) values (2, 1, 9);
35insert into linktable (id1, link_type, id2) values (2, 1, 10);
36
37--replace_column 9 #
38explain select id1, id2, link_type, data from linktable force index(primary) where id1=2 and link_type=1 and (id2=1 or id2=2 or id2=3 or id2=4 or id2=5);
39
40drop table linktable;
41