/**
* Copyright (C) 2009-2013 FoundationDB, LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.foundationdb.sql.optimizer.rule.cost;
public interface CostModelMeasurements
{
// From SelectCT
final double SELECT_PER_ROW = 0.22;
// From ProjectCT
final double PROJECT_PER_ROW = 0.26;
// From ExpressionCT
final double EXPRESSION_PER_FIELD = 0.6;
// From SortCT
final double SORT_SETUP = 64;
final double SORT_PER_ROW = 10;
final double SORT_MIXED_MODE_FACTOR = 1.5;
// From FlattenCT
final double FLATTEN_OVERHEAD = 49;
final double FLATTEN_PER_ROW = 41;
// From MapCT
final double MAP_PER_ROW = 0.15;
// From ProductCT
final double PRODUCT_PER_ROW = 40;
// From SortWithLimitCT
final double SORT_LIMIT_PER_ROW = 1;
final double SORT_LIMIT_PER_FIELD_FACTOR = 0.2;
// From DistinctCT
final double DISTINCT_PER_ROW = 6;
// From IntersectCT
final double INTERSECT_PER_ROW = 0.25;
// Also based on IntersectIT, since Union_Ordered works very similarly to Intersect_Ordered.
final double UNION_PER_ROW = 0.25;
// From HKeyUnionCT
final double HKEY_UNION_PER_ROW = 2;
// From Select_BloomFilterCT.
final double BLOOM_FILTER_LOAD_PER_ROW = 0.24;
final double BLOOM_FILTER_SCAN_PER_ROW = 0.39;
final double BLOOM_FILTER_SCAN_SELECTIVITY_COEFFICIENT = 7.41;
// From Select_HashTableCT
final double HASH_TABLE_LOAD_PER_ROW = .26 ;
final double HASH_TABLE_SCAN_PER_ROW = .18;
final double HASH_TABLE_DIFF_PER_JOIN = .144;
final double HASH_TABLE_COLUMN_COUNT_OFFSET = .0001;
}