ReadFromMergeTree (default.test_index) Indexes: MinMax Keys: y Parts: 4/5 Granules: 11/12 Partition Keys: y bitAnd(z, 3) Parts: 3/4 Granules: 10/11 PrimaryKey Keys: x y Parts: 2/3 Granules: 6/10 Skip Name: t_minmax Description: minmax GRANULARITY 2 Parts: 1/2 Granules: 3/6 Skip Name: t_set Description: set GRANULARITY 2 Parts: 1/1 Granules: 2/3 ----------------- "Node Type": "ReadFromMergeTree", "Node Id": "ReadFromMergeTree_0", "Description": "default.test_index", "Indexes": [ { "Type": "MinMax", "Keys": ["y"], "Initial Parts": 5, "Selected Parts": 4, "Initial Granules": 12, "Selected Granules": 11 }, { "Type": "Partition", "Keys": ["y", "bitAnd(z, 3)"], "Initial Parts": 4, "Selected Parts": 3, "Initial Granules": 11, "Selected Granules": 10 }, { "Type": "PrimaryKey", "Keys": ["x", "y"], "Initial Parts": 3, "Selected Parts": 2, "Initial Granules": 10, "Selected Granules": 6 }, { "Type": "Skip", "Name": "t_minmax", "Description": "minmax GRANULARITY 2", "Initial Parts": 2, "Selected Parts": 1, "Initial Granules": 6, "Selected Granules": 3 }, { "Type": "Skip", "Name": "t_set", "Description": "set GRANULARITY 2", "Initial Parts": 1, "Selected Parts": 1, "Initial Granules": 3, "Selected Granules": 2 } ] } ] } ] } } ] ----------------- ReadFromMergeTree (default.test_index) ReadType: InOrder Parts: 1 Granules: 3 Virtual row conversions Actions: INPUT :: 0 -> x UInt32 : 0 Positions: 0 ----------------- ReadFromMergeTree (default.test_index) ReadType: InReverseOrder Parts: 1 Granules: 3 Virtual row conversions Actions: INPUT :: 0 -> x UInt32 : 0 Positions: 0 ReadFromMergeTree (default.idx) Indexes: PrimaryKey Keys: x plus(x, y) Condition: or((x in 2-element set), (plus(plus(x, y), 1) in (-Inf, 2])) Parts: 1/1 Granules: 1/1 ReadFromMergeTree (default.test_index) Indexes: MinMax Keys: y Parts: 4/5 Granules: 11/12 Partition Keys: y bitAnd(z, 3) Parts: 3/4 Granules: 10/11 PrimaryKey Keys: x y Parts: 2/3 Granules: 6/10 Skip Name: t_minmax Description: minmax GRANULARITY 2 Parts: 1/2 Granules: 3/6 ----------------- "Node Type": "ReadFromMergeTree", "Node Id": "ReadFromMergeTree_0", "Description": "default.test_index", "Indexes": [ { "Type": "MinMax", "Keys": ["y"], "Initial Parts": 5, "Selected Parts": 4, "Initial Granules": 12, "Selected Granules": 11 }, { "Type": "Partition", "Keys": ["y", "bitAnd(z, 3)"], "Initial Parts": 4, "Selected Parts": 3, "Initial Granules": 11, "Selected Granules": 10 }, { "Type": "PrimaryKey", "Keys": ["x", "y"], "Initial Parts": 3, "Selected Parts": 2, "Initial Granules": 10, "Selected Granules": 6 }, { "Type": "Skip", "Name": "t_minmax", "Description": "minmax GRANULARITY 2", "Initial Parts": 2, "Selected Parts": 1, "Initial Granules": 6, "Selected Granules": 3 } ] } ] } ] } } ] ----------------- ReadFromMergeTree (default.test_index) ReadType: InOrder Parts: 1 Granules: 3 Virtual row conversions Actions: INPUT : 0 -> x UInt32 : 0 ALIAS x :: 0 -> __table1.x UInt32 : 1 Positions: 1 ----------------- ReadFromMergeTree (default.test_index) ReadType: InReverseOrder Parts: 1 Granules: 3 Virtual row conversions Actions: INPUT : 0 -> x UInt32 : 0 ALIAS x :: 0 -> __table1.x UInt32 : 1 Positions: 1 ReadFromMergeTree (default.idx) Indexes: PrimaryKey Keys: x plus(x, y) Condition: or((x in 2-element set), (plus(plus(x, y), 1) in (-Inf, 2])) Parts: 1/1 Granules: 1/1