SERVER-123855 Use mongorestore and mongod options to improve determinism in plan stability tests (#50719)
GitOrigin-RevId: 7d680bb8850c841277a15641a4d97f3930060a87
This commit is contained in:
parent
daeeb4b068
commit
bf0db5df1a
@ -25,3 +25,16 @@ executor:
|
||||
# Deterministic sampling is required in order to get
|
||||
# deterministic query plans in plan stability tests
|
||||
internalQuerySamplingBySequentialScan: true
|
||||
# Concurrent index builds can also cause non-determinism
|
||||
# in the in-memory or on-disk representations.
|
||||
maxNumActiveUserIndexBuilds: 1
|
||||
# Costs are sensitive to the size of the WT cache size,
|
||||
# which is computed dynamically. Set it to a fixed value to
|
||||
# ensure determinism.
|
||||
wiredTigerCacheSizeGB: 1
|
||||
# Prevent extending the WT files dynamically, as this may introduce
|
||||
# non-determinism in their sizes
|
||||
wiredTigerEngineConfigString: "file_extend=(data=0,log=0)"
|
||||
# Disable compression, as for some reason it also causes non-determinism on certain platforms
|
||||
wiredTigerCollectionBlockCompressor: none
|
||||
wiredTigerJournalCompressor: none
|
||||
|
||||
@ -16,8 +16,10 @@ export class Mongorestore {
|
||||
nsFrom = undefined,
|
||||
nsTo = undefined,
|
||||
drop = true,
|
||||
maintainInsertionOrder = true,
|
||||
gzip = true,
|
||||
maintainInsertionOrder = true,
|
||||
numParallelCollections = 1,
|
||||
numInsertionWorkersPerCollection = 1,
|
||||
} = {}) {
|
||||
if (archive === undefined) {
|
||||
throw new Error("Archive must be provided to Mongorestore.execute()");
|
||||
@ -41,6 +43,14 @@ export class Mongorestore {
|
||||
args.push("--maintainInsertionOrder");
|
||||
}
|
||||
|
||||
if (numParallelCollections) {
|
||||
args.push(`--numParallelCollections=${numParallelCollections}`);
|
||||
}
|
||||
|
||||
if (numInsertionWorkersPerCollection) {
|
||||
args.push(`--numInsertionWorkersPerCollection=${numInsertionWorkersPerCollection}`);
|
||||
}
|
||||
|
||||
if (gzip) {
|
||||
args.push("--gzip");
|
||||
}
|
||||
|
||||
@ -23,11 +23,27 @@ export function populateTPCHDataset(scale) {
|
||||
nsFrom: "tpch.*",
|
||||
nsTo: `${dbName}.*`,
|
||||
drop: true,
|
||||
maintainInsertionOrder: true,
|
||||
gzip: true,
|
||||
// Remove as much concurrency as possible in order to reduce
|
||||
// the non-determinism in the final on-disk and memory representations.
|
||||
maintainInsertionOrder: true,
|
||||
numParallelCollections: 1,
|
||||
numInsertionWorkersPerCollection: 1,
|
||||
});
|
||||
|
||||
const tpchDb = db.getMongo().getDB(dbName);
|
||||
|
||||
// Compact each collection to further reduce the potential for non-determinism
|
||||
tpchDb.getCollectionNames().forEach(function (collName) {
|
||||
assert.commandWorked(tpchDb.runCommand({compact: collName}));
|
||||
});
|
||||
|
||||
// Increase determinism in the WT on-disk files (which have an effect on join costing)
|
||||
// by preventing further writes.
|
||||
assert.commandWorked(tpchDb.adminCommand({setParameter: 1, syncdelay: 0}));
|
||||
assert.commandWorked(tpchDb.adminCommand({fsync: 1, lock: true}));
|
||||
|
||||
checkPauseAfterPopulate();
|
||||
|
||||
return db.getMongo().getDB(dbName);
|
||||
return tpchDb;
|
||||
}
|
||||
|
||||
@ -134,18 +134,20 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"p_name":{"$regex":{"$regex":"^for","$options":""}}}]}}],"cursor":{},"idx":5},
|
||||
"winningPlan": [
|
||||
"HJ r_regionkey = nation_s.n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$nor':[{'r_regionkey':{'$eq':0}},{'r_regionkey':{'$eq':3}}]} ",
|
||||
" -> [none] HJ n_nationkey = supplier.s_nationkey",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'$nor':[{'n_name':{'$eq':'VIETNAM'}},{'n_name':{'$eq':'UNITED KINGDOM'}}]} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.nation n_regionkey_1 {'n_regionkey':['[4.0, 4.0]']}",
|
||||
" -> [none] HJ partsupp.ps_suppkey = s_suppkey",
|
||||
" -> [none] HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^for'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'$or':[{'ps_availqty':{'$eq':2021}},{'ps_availqty':{'$gt':5420}},{'ps_availqty':{'$gte':3530}}]},{'$or':[{'ps_availqty':{'$eq':5432}},{'ps_supplycost':{'$gt':941.7}}]}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$eq':6399.78}}}"],
|
||||
"keys" : 5,
|
||||
"docs" : 101010,
|
||||
"HJ p_partkey = partsupp.ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^for'}} ",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] INLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$nor':[{'r_regionkey':{'$eq':0}},{'r_regionkey':{'$eq':3}}]} ",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'$and':[{'n_regionkey':{'$eq':4}},{'n_regionkey':{'$not':{'$eq':1}}},{'$nor':[{'n_name':{'$eq':'VIETNAM'}},{'n_name':{'$eq':'UNITED KINGDOM'}}]}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.nation n_regionkey_1",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$eq':6399.78}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'$or':[{'ps_availqty':{'$eq':2021}},{'ps_availqty':{'$gt':5420}},{'ps_availqty':{'$gte':3530}}]},{'$or':[{'ps_availqty':{'$eq':5432}},{'ps_supplycost':{'$gt':941.7}}]}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 16053,
|
||||
"docs" : 36058,
|
||||
"rows" : 7},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -257,14 +259,15 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$and":[{"customer.c_mktsegment":"MACHINERY"}]}}],"cursor":{},"idx":11},
|
||||
"winningPlan": [
|
||||
"HJ o_orderkey = l_orderkey",
|
||||
"INLJ o_orderkey = l_orderkey",
|
||||
" -> [orders] FETCH: plan_stability_tpch_fuzzed.orders {'o_orderpriority':{'$eq':'3-MEDIUM'}} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.orders o_orderdate_1 {'o_orderdate':['(new Date(887932800000), new Date(9223372036854775807)]']}",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.lineitem ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.lineitem ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.lineitem l_orderkey_1",
|
||||
"$lookup customer c_custkey_1",
|
||||
"$lookup supplier s_nationkey_1"],
|
||||
"keys" : 44128,
|
||||
"docs" : 644700,
|
||||
"keys" : 52574,
|
||||
"docs" : 52574,
|
||||
"rows" : 80},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -460,18 +463,19 @@
|
||||
{"$match":{"$or":[{"region_s.r_regionkey":3},{"p_size":{"$eq":34}}]}}],"cursor":{},"idx":19},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] NLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] FETCH: plan_stability_tpch_fuzzed.region ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.region r_regionkey_1 {'r_regionkey':['[1.0, 1.0]']}",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_regionkey':{'$not':{'$eq':4}}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_nationkey':{'$not':{'$eq':6}}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^s'}} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^s'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$match"],
|
||||
"keys" : 1,
|
||||
"docs" : 101026,
|
||||
"keys" : 15521,
|
||||
"docs" : 36546,
|
||||
"rows" : 38},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -609,18 +613,19 @@
|
||||
{"$match":{"$nor":[{"p_partkey":5801}]}}],"cursor":{},"idx":25},
|
||||
"winningPlan": [
|
||||
"INLJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] INLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'r_regionkey':{'$not':{'$eq':4}}} ",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'n_regionkey':{'$eq':3}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.nation n_regionkey_1",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':7082.37}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_comment':{'$regex':'^. de'}},{'ps_availqty':{'$not':{'$gte':8163}}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_comment':{'$regex':'^. de'}},{'ps_availqty':{'$not':{'$gte':8163}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.part {'p_partkey':{'$not':{'$eq':5801}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.part p_partkey_1"],
|
||||
"keys" : 70,
|
||||
"docs" : 81075,
|
||||
"keys" : 12310,
|
||||
"docs" : 13315,
|
||||
"rows" : 50},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -675,14 +680,15 @@
|
||||
{"$unwind":"$lineitem"},
|
||||
{"$match":{"$or":[{"p_comment":{"$regex":{"$regex":"^ r","$options":""}}}]}}],"cursor":{},"idx":28},
|
||||
"winningPlan": [
|
||||
"HJ p_partkey = ps_partkey, lineitem.l_partkey = ps_partkey",
|
||||
"INLJ p_partkey = ps_partkey, lineitem.l_partkey = ps_partkey",
|
||||
" -> [none] INLJ p_partkey = l_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_comment':{'$regex':'^ r'}} ",
|
||||
" -> [lineitem] FETCH: plan_stability_tpch_fuzzed.lineitem {'$and':[{'l_shipmode':{'$eq':'REG AIR'}},{'l_linenumber':{'$gt':4}},{'l_partkey':{'$not':{'$eq':6234}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.lineitem l_partkey_1",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_supplycost':{'$not':{'$gte':495.17}}}"],
|
||||
"keys" : 6086,
|
||||
"docs" : 106086,
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_supplycost':{'$not':{'$gte':495.17}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1"],
|
||||
"keys" : 6762,
|
||||
"docs" : 26762,
|
||||
"rows" : 358},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -1503,15 +1509,16 @@
|
||||
{"$match":{"$or":[{"nation_s.n_name":{"$in":["ALGERIA","CHINA"]}},{"partsupp.ps_comment":{"$regex":{"$regex":"^quic","$options":""}}}]}}],"cursor":{},"idx":64},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'$or':[{'n_regionkey':{'$eq':1}},{'n_name':{'$in':['ALGERIA','INDIA','PERU','UNITED STATES']}}]},{'n_name':{'$not':{'$eq':'ALGERIA'}}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_nationkey':{'$eq':8}},{'s_nationkey':{'$eq':16}}]} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$gt':8620}}} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$gt':8620}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$match"],
|
||||
"keys" : 0,
|
||||
"docs" : 101025,
|
||||
"keys" : 15520,
|
||||
"docs" : 36545,
|
||||
"rows" : 39},
|
||||
|
||||
{">>>command": {"aggregate":"partsupp","pipeline":[
|
||||
@ -1764,13 +1771,12 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$nor":[{"supplier.s_name":"Supplier#000000439"}]}}],"cursor":{},"idx":75},
|
||||
"winningPlan": [
|
||||
"INLJ ps_partkey = p_partkey",
|
||||
"HJ ps_partkey = p_partkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^lu'}} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.part ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.part p_partkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup supplier s_suppkey_1"],
|
||||
"keys" : 362,
|
||||
"docs" : 80362,
|
||||
"keys" : 181,
|
||||
"docs" : 100181,
|
||||
"rows" : 173},
|
||||
|
||||
{">>>command": {"aggregate":"partsupp","pipeline":[
|
||||
@ -1871,15 +1877,14 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"supplier.s_acctbal":{"$eq":868.36}}]}}],"cursor":{},"idx":79},
|
||||
"winningPlan": [
|
||||
"INLJ ps_partkey = p_partkey",
|
||||
"HJ ps_partkey = p_partkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_supplycost':{'$gte':997.82}} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.part ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.part p_partkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 387,
|
||||
"docs" : 80387,
|
||||
"keys" : 231,
|
||||
"docs" : 100231,
|
||||
"rows" : 4},
|
||||
|
||||
{">>>command": {"aggregate":"lineitem","pipeline":[
|
||||
@ -1898,15 +1903,16 @@
|
||||
"HJ l_orderkey = orders.o_orderkey",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.lineitem ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.lineitem l_commitdate_1 {'l_commitdate':['[new Date(-9223372036854775808), new Date(703123200000)]']}",
|
||||
" -> [none] HJ customer.c_custkey = o_custkey",
|
||||
" -> [none] INLJ customer.c_custkey = o_custkey",
|
||||
" -> [none] INLJ s_nationkey = c_nationkey",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'$and':[{'s_acctbal':{'$lt':4663.08}},{'s_name':{'$eq':'Supplier#000000949'}}]} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.supplier s_nationkey_1 {'s_nationkey':['[23.0, 23.0]']}",
|
||||
" -> [customer] FETCH: plan_stability_tpch_fuzzed.customer {'c_mktsegment':{'$not':{'$eq':'BUILDING'}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.customer c_nationkey_1",
|
||||
" -> [orders] COLLSCAN: plan_stability_tpch_fuzzed.orders {'o_clerk':{'$not':{'$eq':'Clerk#000000567'}}}"],
|
||||
"keys" : 11924,
|
||||
"docs" : 161924,
|
||||
" -> [orders] FETCH: plan_stability_tpch_fuzzed.orders {'o_clerk':{'$not':{'$eq':'Clerk#000000567'}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.orders o_custkey_1"],
|
||||
"keys" : 16477,
|
||||
"docs" : 16477,
|
||||
"rows" : 387},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -1930,13 +1936,14 @@
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$and':[{'r_name':{'$not':{'$eq':'EUROPE'}}},{'r_name':{'$not':{'$eq':'MIDDLE EAST'}}}]} ",
|
||||
" -> [none] HJ supplier.s_nationkey = n_nationkey",
|
||||
" -> [none] HJ partsupp.ps_suppkey = s_suppkey",
|
||||
" -> [none] HJ p_partkey = ps_partkey",
|
||||
" -> [none] INLJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_comment':{'$regex':'^egul'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'$or':[{'ps_supplycost':{'$lt':941.7}},{'ps_availqty':{'$gt':5124}},{'ps_availqty':{'$gte':756}}]},{'ps_availqty':{'$lte':854}},{'ps_comment':{'$regex':'^ '}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'$or':[{'ps_supplycost':{'$lt':941.7}},{'ps_availqty':{'$gt':5124}},{'ps_availqty':{'$gte':756}}]},{'ps_availqty':{'$lte':854}},{'ps_comment':{'$regex':'^ '}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$gt':4269.56}} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$not':{'$in':['FRANCE','RUSSIA']}}}"],
|
||||
"keys" : 0,
|
||||
"docs" : 101030,
|
||||
"keys" : 440,
|
||||
"docs" : 21470,
|
||||
"rows" : 3},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -2249,17 +2256,18 @@
|
||||
{"$match":{"$and":[{"p_mfgr":{"$nin":["Manufacturer#2","Manufacturer#3","Manufacturer#1","Manufacturer#1"]}}]}}],"cursor":{},"idx":96},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] INLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$nor':[{'r_name':{'$eq':'AFRICA'}},{'r_regionkey':{'$eq':0}}]} ",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'$and':[{'n_regionkey':{'$eq':3}},{'n_name':{'$not':{'$eq':'BRAZIL'}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.nation n_regionkey_1",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000326'}},{'s_nationkey':{'$eq':7}}]} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^ '}} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^ '}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_mfgr':{'$not':{'$in':['Manufacturer#1','Manufacturer#2','Manufacturer#3']}}}"],
|
||||
"keys" : 20,
|
||||
"docs" : 101025,
|
||||
"keys" : 12340,
|
||||
"docs" : 33345,
|
||||
"rows" : 665},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -2581,16 +2589,17 @@
|
||||
{"$match":{"$or":[{"ps_availqty":{"$lt":5779}}]}}],"cursor":{},"idx":111},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] INLJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] INLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_name':{'$eq':'AFRICA'}},{'r_regionkey':{'$in':[0,4]}}]} ",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'$and':[{'n_regionkey':{'$eq':0}},{'n_name':{'$not':{'$eq':'RUSSIA'}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.nation n_regionkey_1",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':10.33}} ",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':10.33}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$lt':5779}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 1050,
|
||||
"docs" : 2055,
|
||||
"keys" : 1229,
|
||||
"docs" : 1234,
|
||||
"rows" : 566},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -2842,15 +2851,16 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$or":[{"p_name":{"$regex":{"$regex":"^co","$options":""}}}]}}],"cursor":{},"idx":122},
|
||||
"winningPlan": [
|
||||
"HJ supplier.s_nationkey = n_nationkey",
|
||||
" -> [none] HJ partsupp.ps_suppkey = s_suppkey",
|
||||
" -> [none] HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^co'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$lt':7155}},{'ps_comment':{'$regex':'^s. '}},{'ps_comment':{'$not':{'$regex':'^ '}}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000587'}},{'s_acctbal':{'$lte':6399.78}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'$or':[{'n_name':{'$in':['ROMANIA','SAUDI ARABIA']}},{'n_regionkey':{'$in':[3,4]}}]},{'n_name':{'$not':{'$in':['CHINA','ETHIOPIA','UNITED STATES','VIETNAM']}}}]}"],
|
||||
"keys" : 0,
|
||||
"docs" : 101025,
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'$or':[{'n_name':{'$in':['ROMANIA','SAUDI ARABIA']}},{'n_regionkey':{'$in':[3,4]}}]},{'n_name':{'$not':{'$in':['CHINA','ETHIOPIA','UNITED STATES','VIETNAM']}}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000587'}},{'s_acctbal':{'$lte':6399.78}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$lt':7155}},{'ps_comment':{'$regex':'^s. '}},{'ps_comment':{'$not':{'$regex':'^ '}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^co'}}"],
|
||||
"keys" : 10000,
|
||||
"docs" : 31025,
|
||||
"rows" : 6},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -3014,13 +3024,14 @@
|
||||
{"$match":{"$and":[{"p_comment":{"$regex":{"$regex":"^li","$options":""}}}]}}],"cursor":{},"idx":131},
|
||||
"winningPlan": [
|
||||
"INLJ partsupp.ps_partkey = l_partkey, p_partkey = l_partkey",
|
||||
" -> [none] HJ p_partkey = ps_partkey",
|
||||
" -> [none] INLJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_comment':{'$regex':'^li'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$lte':17.49}},{'ps_supplycost':{'$not':{'$gt':944.57}}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$lte':17.49}},{'ps_supplycost':{'$not':{'$gt':944.57}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1",
|
||||
" -> [lineitem] FETCH: plan_stability_tpch_fuzzed.lineitem {'$and':[{'l_discount':{'$gte':0.02}},{'$nor':[{'l_linestatus':{'$eq':'O'}},{'l_linenumber':{'$lt':5}}]}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.lineitem l_partkey_1"],
|
||||
"keys" : 307,
|
||||
"docs" : 100307,
|
||||
"keys" : 835,
|
||||
"docs" : 20835,
|
||||
"rows" : 20},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -3238,14 +3249,15 @@
|
||||
{"$match":{"$nor":[{"nation_s.n_regionkey":4},{"p_type":"STANDARD POLISHED BRASS"}]}}],"cursor":{},"idx":141},
|
||||
"winningPlan": [
|
||||
"INLJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_nationkey':{'$eq':24}},{'s_acctbal':{'$gt':7082.37}}]},{'$or':[{'s_acctbal':{'$lt':8724.42}},{'s_name':{'$in':['Supplier#000000602','Supplier#000000928']}}]}]} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$lte':836.01}},{'ps_supplycost':{'$gt':498.13}},{'ps_comment':{'$regex':'^b'}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$lte':836.01}},{'ps_supplycost':{'$gt':498.13}},{'ps_comment':{'$regex':'^b'}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.part {'p_type':{'$not':{'$eq':'STANDARD POLISHED BRASS'}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.part p_partkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 115,
|
||||
"docs" : 81115,
|
||||
"keys" : 13315,
|
||||
"docs" : 14315,
|
||||
"rows" : 7},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -3502,14 +3514,15 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"ps_availqty":{"$lte":7969}},{"region_s.r_regionkey":1}]}}],"cursor":{},"idx":153},
|
||||
"winningPlan": [
|
||||
"HJ supplier.s_suppkey = ps_suppkey",
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$not':{'$in':['ARGENTINA','CANADA']}}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$gte':1209.3}}} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$lte':7969}}} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$lte':7969}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 2886,
|
||||
"docs" : 83911,
|
||||
"keys" : 17526,
|
||||
"docs" : 18551,
|
||||
"rows" : 769},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -4144,12 +4157,13 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"s_name":"Supplier#000000290"},{"region_s.r_name":"AFRICA"},{"s_acctbal":{"$gt":7619.85}},{"region_s.r_name":"MIDDLE EAST"}]}}],"cursor":{},"idx":182},
|
||||
"winningPlan": [
|
||||
"HJ n_nationkey = s_nationkey",
|
||||
"INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$nor':[{'n_name':{'$not':{'$in':['FRANCE','INDONESIA','IRAQ']}}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000290'}},{'s_acctbal':{'$gt':7619.85}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000290'}},{'s_acctbal':{'$gt':7619.85}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 100,
|
||||
"docs" : 1125,
|
||||
"keys" : 223,
|
||||
"docs" : 248,
|
||||
"rows" : 29},
|
||||
|
||||
{">>>command": {"aggregate":"partsupp","pipeline":[
|
||||
@ -4191,14 +4205,15 @@
|
||||
"HJ p_partkey = partsupp.ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^h'}} ",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [none] INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$in':['ROMANIA','RUSSIA']}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':3580.35}} ",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':3580.35}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$lt':9806}},{'ps_supplycost':{'$gt':164.22}},{'$nor':[{'ps_availqty':{'$gte':5275}},{'ps_comment':{'$regex':'^fil'}},{'ps_comment':{'$regex':'^s'}}]}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 2662,
|
||||
"docs" : 23687,
|
||||
"keys" : 2742,
|
||||
"docs" : 22767,
|
||||
"rows" : 22},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -4253,12 +4268,13 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"s_name":"Supplier#000000920"},{"s_acctbal":{"$gt":3222.71}},{"region_s.r_regionkey":2}]}}],"cursor":{},"idx":187},
|
||||
"winningPlan": [
|
||||
"HJ n_nationkey = s_nationkey",
|
||||
"INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_name':{'$in':['CANADA','ETHIOPIA','JAPAN']}},{'$nor':[{'n_regionkey':{'$eq':4}},{'n_regionkey':{'$eq':0}}]}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000920'}},{'s_acctbal':{'$gt':3222.71}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000920'}},{'s_acctbal':{'$gt':3222.71}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 29,
|
||||
"docs" : 1054,
|
||||
"keys" : 107,
|
||||
"docs" : 132,
|
||||
"rows" : 12},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -4270,12 +4286,13 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"s_nationkey":15},{"region_s.r_name":"EUROPE"},{"s_acctbal":{"$gte":-609.59}}]}}],"cursor":{},"idx":188},
|
||||
"winningPlan": [
|
||||
"HJ n_nationkey = s_nationkey",
|
||||
"INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$in':['JAPAN','SAUDI ARABIA']}} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_nationkey':{'$eq':15}},{'s_acctbal':{'$gte':-609.59}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_nationkey':{'$eq':15}},{'s_acctbal':{'$gte':-609.59}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 3,
|
||||
"docs" : 1028,
|
||||
"keys" : 91,
|
||||
"docs" : 116,
|
||||
"rows" : 3},
|
||||
|
||||
{">>>command": {"aggregate":"supplier","pipeline":[
|
||||
@ -4288,12 +4305,13 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"s_name":"Supplier#000000517"},{"region_s.r_name":"MIDDLE EAST"},{"s_acctbal":{"$gte":10.33}}]}}],"cursor":{},"idx":189},
|
||||
"winningPlan": [
|
||||
"HJ n_nationkey = s_nationkey",
|
||||
"INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_name':{'$in':['INDIA','JORDAN','KENYA']}},{'$nor':[{'n_regionkey':{'$eq':1}},{'n_regionkey':{'$eq':4}}]}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000517'}},{'s_acctbal':{'$gte':10.33}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000517'}},{'s_acctbal':{'$gte':10.33}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 6,
|
||||
"docs" : 1031,
|
||||
"keys" : 89,
|
||||
"docs" : 114,
|
||||
"rows" : 5},
|
||||
|
||||
{">>>command": {"aggregate":"part","pipeline":[
|
||||
@ -4349,12 +4367,13 @@
|
||||
{"$unwind":"$lineitem"},
|
||||
{"$match":{"$and":[{"p_comment":{"$regex":{"$regex":"^lit","$options":""}}},{"lineitem.l_shipdate":{"$gte":"1997-06-13T00:00:00.000Z"}}]}}],"cursor":{},"idx":192},
|
||||
"winningPlan": [
|
||||
"HJ p_partkey = ps_partkey",
|
||||
"INLJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_comment':{'$regex':'^lit'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'$or':[{'ps_availqty':{'$eq':9578}},{'ps_availqty':{'$lt':8052}}]},{'ps_supplycost':{'$gt':587.19}},{'ps_comment':{'$regex':'^f'}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'$or':[{'ps_availqty':{'$eq':9578}},{'ps_availqty':{'$lt':8052}}]},{'ps_supplycost':{'$gt':587.19}},{'ps_comment':{'$regex':'^f'}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1",
|
||||
"$lookup lineitem l_partkey_1"],
|
||||
"keys" : 97,
|
||||
"docs" : 100097,
|
||||
"keys" : 613,
|
||||
"docs" : 20613,
|
||||
"rows" : 2},
|
||||
|
||||
{">>>command": {"aggregate":"partsupp","pipeline":[
|
||||
@ -4456,15 +4475,16 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$and":[{"p_name":{"$regex":{"$regex":"^li","$options":""}}},{"nation_s.n_name":{"$nin":["SAUDI ARABIA","GERMANY","KENYA"]}}]}}],"cursor":{},"idx":197},
|
||||
"winningPlan": [
|
||||
"HJ s_suppkey = partsupp.ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_acctbal':{'$eq':7844.41}},{'s_acctbal':{'$gte':8210.13}}]},{'s_name':{'$not':{'$eq':'Supplier#000000921'}}}]} ",
|
||||
" -> [none] HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^li'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$not':{'$gte':587.19}}},{'ps_comment':{'$not':{'$regex':'^ula'}}}]} ",
|
||||
"HJ p_partkey = partsupp.ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^li'}} ",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_acctbal':{'$eq':7844.41}},{'s_acctbal':{'$gte':8210.13}}]},{'s_name':{'$not':{'$eq':'Supplier#000000921'}}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$not':{'$gte':587.19}}},{'ps_comment':{'$not':{'$regex':'^ula'}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 285,
|
||||
"docs" : 101285,
|
||||
"keys" : 13165,
|
||||
"docs" : 34165,
|
||||
"rows" : 37},
|
||||
|
||||
{">>>command": {"aggregate":"partsupp","pipeline":[
|
||||
@ -4624,13 +4644,14 @@
|
||||
{"$match":{"$or":[{"p_size":{"$lt":24}},{"p_size":{"$gt":42}}]}}],"cursor":{},"idx":208},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.supplier s_nationkey_1 {'s_nationkey':['[9.0, 9.0]','[13.0, 13.0]','[23.0, 23.0]']}",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^s a'}} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^s a'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'$or':[{'p_size':{'$lt':24}},{'p_size':{'$gt':42}}]}"],
|
||||
"keys" : 112,
|
||||
"docs" : 100112,
|
||||
"keys" : 9072,
|
||||
"docs" : 29072,
|
||||
"rows" : 24},
|
||||
|
||||
{">>>command": {"aggregate":"lineitem","pipeline":[
|
||||
@ -5081,7 +5102,7 @@
|
||||
"rows" : 15}
|
||||
|
||||
],
|
||||
">>>totals": {"commands": 222, "keys": 1379610, "docs": 16358950, "rows": 41006}
|
||||
">>>totals": {"commands": 222, "keys": 1526391, "docs": 14668159, "rows": 41006}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -244,18 +244,19 @@
|
||||
" -> [customer] COLLSCAN: plan_stability_tpch_official.customer ",
|
||||
" -> [none] HJ o_orderkey = lineitem.l_orderkey",
|
||||
" -> [orders] COLLSCAN: plan_stability_tpch_official.orders ",
|
||||
" -> [none] HJ s_suppkey = l_suppkey",
|
||||
" -> [none] INLJ s_suppkey = l_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [n1] COLLSCAN: plan_stability_tpch_official.nation ",
|
||||
" -> [none] PROJECTION_SIMPLE",
|
||||
" -> COLLSCAN: plan_stability_tpch_official.supplier ",
|
||||
" -> [lineitem] COLLSCAN: plan_stability_tpch_official.lineitem {'$and':[{'$expr':{'$gte':['$l_shipdate',{'$const':'1995-01-01T00:00:00.000Z'}]}},{'$expr':{'$lte':['$l_shipdate',{'$const':'1996-12-31T00:00:00.000Z'}]}}]} ",
|
||||
" -> [lineitem] FETCH: plan_stability_tpch_official.lineitem {'$and':[{'$expr':{'$gte':['$l_shipdate',{'$const':'1995-01-01T00:00:00.000Z'}]}},{'$expr':{'$lte':['$l_shipdate',{'$const':'1996-12-31T00:00:00.000Z'}]}},{'l_shipdate':{'$_internalExprGte':'1995-01-01T00:00:00.000Z'}},{'l_shipdate':{'$_internalExprLte':'1996-12-31T00:00:00.000Z'}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_official.lineitem l_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$project",
|
||||
"$group",
|
||||
"$project",
|
||||
"$sort"],
|
||||
"keys" : 15631,
|
||||
"keys" : 616203,
|
||||
"docs" : 782228,
|
||||
"result" :
|
||||
[
|
||||
@ -1278,19 +1279,19 @@
|
||||
{"$sort":{"revenue":-1}},
|
||||
{"$limit":20}]},
|
||||
"winningPlan": [
|
||||
"HJ n_nationkey = c_nationkey",
|
||||
" -> [nation] COLLSCAN: plan_stability_tpch_official.nation ",
|
||||
" -> [none] HJ orders.o_custkey = c_custkey",
|
||||
" -> [none] HJ o_orderkey = l_orderkey",
|
||||
" -> [orders] FETCH: plan_stability_tpch_official.orders {'$and':[{'$expr':{'$gte':['$o_orderdate',{'$const':'1993-10-01T00:00:00.000Z'}]}},{'$expr':{'$lt':['$o_orderdate',{'$const':'1994-01-01T00:00:00.000Z'}]}}]} ",
|
||||
" -> IXSCAN: plan_stability_tpch_official.orders o_orderdate_1 {'o_orderdate':['[new Date(749433600000), new Date(757382400000))']}",
|
||||
" -> [lineitem] COLLSCAN: plan_stability_tpch_official.lineitem {'$and':[{'$expr':{'$eq':['$l_returnflag',{'$const':'R'}]}}]} ",
|
||||
" -> [none] PROJECTION_SIMPLE",
|
||||
" -> COLLSCAN: plan_stability_tpch_official.customer ",
|
||||
"HJ orders.o_orderkey = l_orderkey",
|
||||
" -> [none] HJ o_custkey = c_custkey",
|
||||
" -> [orders] FETCH: plan_stability_tpch_official.orders {'$and':[{'$expr':{'$gte':['$o_orderdate',{'$const':'1993-10-01T00:00:00.000Z'}]}},{'$expr':{'$lt':['$o_orderdate',{'$const':'1994-01-01T00:00:00.000Z'}]}}]} ",
|
||||
" -> IXSCAN: plan_stability_tpch_official.orders o_orderdate_1 {'o_orderdate':['[new Date(749433600000), new Date(757382400000))']}",
|
||||
" -> [none] INLJ n_nationkey = c_nationkey",
|
||||
" -> [nation] COLLSCAN: plan_stability_tpch_official.nation ",
|
||||
" -> [none] FETCH: plan_stability_tpch_official.customer ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_official.customer c_nationkey_1",
|
||||
" -> [lineitem] COLLSCAN: plan_stability_tpch_official.lineitem {'$and':[{'$expr':{'$eq':['$l_returnflag',{'$const':'R'}]}}]} ",
|
||||
"$group",
|
||||
"$project",
|
||||
"$sort"],
|
||||
"keys" : 5677,
|
||||
"keys" : 20677,
|
||||
"docs" : 621274,
|
||||
"result" :
|
||||
[
|
||||
@ -1498,7 +1499,7 @@
|
||||
}
|
||||
|
||||
],
|
||||
">>>totals": {"commands": 7, "keys": 807141, "docs": 3408017, "rows": 220}
|
||||
">>>totals": {"commands": 7, "keys": 1422713, "docs": 3408017, "rows": 220}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -400,4 +400,7 @@ export function runPlanStabilityCommands(db, commands, resultsetRepresentation =
|
||||
);
|
||||
|
||||
print("}");
|
||||
|
||||
// Unlock the database in case it was locked just after populating the data
|
||||
assert.commandWorked(db.getMongo().getDB("admin").fsyncUnlock());
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user