Merge branch 'column_store'
Co-authored-by: wangt1xiuyi <13547954130@163.com> Co-authored-by: yangqise7en <877793735@qq.com> Co-authored-by: Zach41 <zach_41@163.com>
This commit is contained in:
@ -23,22 +23,7 @@ const static double NORMAL_CPU_TUPLE_COST = 0.02977945030613315927249275026;
|
||||
const static double NORMAL_TABLE_SCAN_CPU_TUPLE_COST = 0.3717749711890249146505031527;
|
||||
const static double NORMAL_MICRO_BLOCK_SEQ_COST = 4.12032943880540981;
|
||||
const static double NORMAL_MICRO_BLOCK_RND_COST = 5.45276187553;
|
||||
const static double NORMAL_PROJECT_COLUMN_SEQ_INT_COST = 0.04392826667;
|
||||
const static double NORMAL_PROJECT_COLUMN_SEQ_NUMBER_COST = 0.04187649999657894736842105263;
|
||||
const static double NORMAL_PROJECT_COLUMN_SEQ_CHAR_COST = 0.001149576877742598684210526316;
|
||||
const static double NORMAL_PROJECT_COLUMN_RND_INT_COST = 0.08879689693065789473684210526;
|
||||
const static double NORMAL_PROJECT_COLUMN_RND_NUMBER_COST = 0.07463286534828947368421052632;
|
||||
const static double NORMAL_PROJECT_COLUMN_RND_CHAR_COST = 0.002145698273026315789473684210;
|
||||
const static double NORMAL_FETCH_ROW_RND_COST = 2.2477466668;
|
||||
const static double NORMAL_CMP_INT_COST = 0.0100087103407539;
|
||||
const static double NORMAL_CMP_NUMBER_COST = 0.0227412012152380952380952381;
|
||||
const static double NORMAL_CMP_CHAR_COST = 0.09707028746051587301587301588;
|
||||
const static double NORMAL_CMP_SPATIAL_COST = 19.311884382850465;
|
||||
const static double NORMAL_INVALID_CMP_COST = -1;
|
||||
const static double NORMAL_HASH_INT_COST = 0.02272897981269841269841269841;
|
||||
const static double NORMAL_HASH_NUMBER_COST = 0.02702563229230158730158730158;
|
||||
const static double NORMAL_HASH_CHAR_COST = 0.2306996323278174603174603175;
|
||||
const static double NORMAL_INVALID_HASH_COST = -1;
|
||||
const static double NORMAL_MATERIALIZE_PER_BYTE_WRITE_COST = 0.0003799844906944444444444444444;
|
||||
const static double NORMAL_READ_MATERIALIZED_PER_ROW_COST = 0.08075845740444444444444444444;
|
||||
const static double NORMAL_PER_AGGR_FUNC_COST = 0.03295337962222222222222222222;
|
||||
@ -70,6 +55,37 @@ const static double NORMAL_DELETE_CHECK_PER_ROW_COST = 59.4583275;
|
||||
const static double NORMAL_SPATIAL_PER_ROW_COST = 3.2434868757557513;
|
||||
const static double NORMAL_RANGE_COST = 2.1;
|
||||
|
||||
//project cost params
|
||||
//row store
|
||||
const static double NORMAL_ROW_STORE_PROJECT_COLUMN_SEQ_INT_COST = 0.04392826667;
|
||||
const static double NORMAL_ROW_STORE_PROJECT_COLUMN_SEQ_NUMBER_COST = 0.04187649999657894736842105263;
|
||||
const static double NORMAL_ROW_STORE_PROJECT_COLUMN_SEQ_CHAR_COST = 0.001149576877742598684210526316;
|
||||
|
||||
const static double NORMAL_ROW_STORE_PROJECT_COLUMN_RND_INT_COST = 0.04392826667;
|
||||
const static double NORMAL_ROW_STORE_PROJECT_COLUMN_RND_NUMBER_COST = 0.04187649999657894736842105263;
|
||||
const static double NORMAL_ROW_STORE_PROJECT_COLUMN_RND_CHAR_COST = 0.001149576877742598684210526316;
|
||||
//column store
|
||||
const static double NORMAL_COLUMN_STORE_PROJECT_COLUMN_SEQ_INT_COST = 0.08879689693065789473684210526;
|
||||
const static double NORMAL_COLUMN_STORE_PROJECT_COLUMN_SEQ_NUMBER_COST = 0.07463286534828947368421052632;
|
||||
const static double NORMAL_COLUMN_STORE_PROJECT_COLUMN_SEQ_CHAR_COST = 0.002145698273026315789473684210;
|
||||
|
||||
const static double NORMAL_COLUMN_STORE_PROJECT_COLUMN_RND_INT_COST = 0.08879689693065789473684210526;
|
||||
const static double NORMAL_COLUMN_STORE_PROJECT_COLUMN_RND_NUMBER_COST = 0.07463286534828947368421052632;
|
||||
const static double NORMAL_COLUMN_STORE_PROJECT_COLUMN_RND_CHAR_COST = 0.002145698273026315789473684210;
|
||||
|
||||
//compare cost params
|
||||
const static double NORMAL_CMP_INT_COST = 0.0100087103407539;
|
||||
const static double NORMAL_CMP_NUMBER_COST = 0.0227412012152380952380952381;
|
||||
const static double NORMAL_CMP_CHAR_COST = 0.09707028746051587301587301588;
|
||||
const static double NORMAL_CMP_SPATIAL_COST = 19.311884382850465;
|
||||
const static double NORMAL_INVALID_CMP_COST = -1;
|
||||
|
||||
//hash cost params
|
||||
const static double NORMAL_HASH_INT_COST = 0.02272897981269841269841269841;
|
||||
const static double NORMAL_HASH_NUMBER_COST = 0.02702563229230158730158730158;
|
||||
const static double NORMAL_HASH_CHAR_COST = 0.2306996323278174603174603175;
|
||||
const static double NORMAL_INVALID_HASH_COST = -1;
|
||||
|
||||
const static double comparison_params_normal[ObMaxTC+1] = {
|
||||
NORMAL_CMP_INT_COST, // null
|
||||
NORMAL_CMP_INT_COST, // int8, int16, int24, int32, int64.
|
||||
@ -85,6 +101,19 @@ const static double comparison_params_normal[ObMaxTC+1] = {
|
||||
NORMAL_CMP_INT_COST, // extend
|
||||
NORMAL_INVALID_CMP_COST, // unknown
|
||||
NORMAL_CMP_CHAR_COST, // TinyText,MediumText, Text ,LongText
|
||||
// TODO:@zhenling.zzg check the new type cost plz
|
||||
NORMAL_CMP_INT_COST, // Bit
|
||||
NORMAL_CMP_CHAR_COST, // enum, set
|
||||
NORMAL_CMP_INT_COST, // ObEnumSetInnerTC
|
||||
NORMAL_CMP_INT_COST, // timestamp with time zone
|
||||
NORMAL_CMP_CHAR_COST, // raw
|
||||
NORMAL_CMP_INT_COST, // interval
|
||||
NORMAL_CMP_INT_COST, // rowid
|
||||
NORMAL_CMP_CHAR_COST, // lob
|
||||
NORMAL_CMP_CHAR_COST, // json
|
||||
NORMAL_CMP_CHAR_COST, // geometry
|
||||
NORMAL_CMP_CHAR_COST, // user defined type
|
||||
NORMAL_CMP_NUMBER_COST, // ObDecimalIntTC
|
||||
};
|
||||
|
||||
const static double hash_params_normal[ObMaxTC+1] = {
|
||||
@ -102,6 +131,45 @@ const static double hash_params_normal[ObMaxTC+1] = {
|
||||
NORMAL_HASH_INT_COST, // extend
|
||||
NORMAL_INVALID_HASH_COST, // unknown
|
||||
NORMAL_HASH_CHAR_COST, // TinyText,MediumText, Text ,LongText
|
||||
NORMAL_HASH_INT_COST, // Bit
|
||||
NORMAL_HASH_CHAR_COST, // enum, set
|
||||
NORMAL_HASH_INT_COST, // ObEnumSetInnerTC
|
||||
NORMAL_HASH_INT_COST, // timestamp with time zone
|
||||
NORMAL_HASH_CHAR_COST, // raw
|
||||
NORMAL_HASH_INT_COST, // interval
|
||||
NORMAL_HASH_INT_COST, // rowid
|
||||
NORMAL_HASH_CHAR_COST, // lob
|
||||
NORMAL_HASH_CHAR_COST, // json
|
||||
NORMAL_HASH_CHAR_COST, // geometry
|
||||
NORMAL_HASH_CHAR_COST, // user defined type
|
||||
NORMAL_HASH_NUMBER_COST, // ObDecimalIntTC
|
||||
};
|
||||
|
||||
const static double project_params_normal[2][2][ObOptEstCostModel::MAX_PROJECT_TYPE] = {
|
||||
{
|
||||
{// row store sequence access
|
||||
NORMAL_ROW_STORE_PROJECT_COLUMN_SEQ_INT_COST, // int
|
||||
NORMAL_ROW_STORE_PROJECT_COLUMN_SEQ_NUMBER_COST, // number or decimal
|
||||
NORMAL_ROW_STORE_PROJECT_COLUMN_SEQ_CHAR_COST // char
|
||||
},
|
||||
{// row store random access
|
||||
NORMAL_ROW_STORE_PROJECT_COLUMN_RND_INT_COST, // int
|
||||
NORMAL_ROW_STORE_PROJECT_COLUMN_RND_NUMBER_COST, // number or decimal
|
||||
NORMAL_ROW_STORE_PROJECT_COLUMN_RND_CHAR_COST // char
|
||||
}
|
||||
},
|
||||
{
|
||||
{// column store sequence access
|
||||
NORMAL_COLUMN_STORE_PROJECT_COLUMN_SEQ_INT_COST, // int
|
||||
NORMAL_COLUMN_STORE_PROJECT_COLUMN_SEQ_NUMBER_COST, // number or decimal
|
||||
NORMAL_COLUMN_STORE_PROJECT_COLUMN_SEQ_CHAR_COST // char
|
||||
},
|
||||
{// column store random access
|
||||
NORMAL_COLUMN_STORE_PROJECT_COLUMN_RND_INT_COST, // int
|
||||
NORMAL_COLUMN_STORE_PROJECT_COLUMN_RND_NUMBER_COST, // number or decimal
|
||||
NORMAL_COLUMN_STORE_PROJECT_COLUMN_RND_CHAR_COST // char
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const static ObOptEstCostModel::ObCostParams cost_params_normal(
|
||||
@ -109,22 +177,8 @@ const static ObOptEstCostModel::ObCostParams cost_params_normal(
|
||||
NORMAL_TABLE_SCAN_CPU_TUPLE_COST,
|
||||
NORMAL_MICRO_BLOCK_SEQ_COST,
|
||||
NORMAL_MICRO_BLOCK_RND_COST,
|
||||
NORMAL_PROJECT_COLUMN_SEQ_INT_COST,
|
||||
NORMAL_PROJECT_COLUMN_SEQ_NUMBER_COST,
|
||||
NORMAL_PROJECT_COLUMN_SEQ_CHAR_COST,
|
||||
NORMAL_PROJECT_COLUMN_RND_INT_COST,
|
||||
NORMAL_PROJECT_COLUMN_RND_NUMBER_COST,
|
||||
NORMAL_PROJECT_COLUMN_RND_CHAR_COST,
|
||||
NORMAL_FETCH_ROW_RND_COST,
|
||||
NORMAL_CMP_INT_COST,
|
||||
NORMAL_CMP_NUMBER_COST,
|
||||
NORMAL_CMP_CHAR_COST,
|
||||
NORMAL_CMP_SPATIAL_COST,
|
||||
NORMAL_INVALID_CMP_COST,
|
||||
NORMAL_HASH_INT_COST,
|
||||
NORMAL_HASH_NUMBER_COST,
|
||||
NORMAL_HASH_CHAR_COST,
|
||||
NORMAL_INVALID_HASH_COST,
|
||||
NORMAL_MATERIALIZE_PER_BYTE_WRITE_COST,
|
||||
NORMAL_READ_MATERIALIZED_PER_ROW_COST,
|
||||
NORMAL_PER_AGGR_FUNC_COST,
|
||||
|
||||
Reference in New Issue
Block a user