1 21 22 package org.apache.derby.iapi.store.access; 23 24 import org.apache.derby.iapi.types.DataValueDescriptor; 25 26 import org.apache.derby.iapi.types.RowLocation; 27 28 import org.apache.derby.iapi.error.StandardException; 29 import org.apache.derby.iapi.services.io.FormatableBitSet; 30 31 57 58 public interface StoreCostController extends RowCountable 59 { 60 63 public static final double BASE_CACHED_ROW_FETCH_COST = 0.17; 66 67 public static final double BASE_UNCACHED_ROW_FETCH_COST = 1.5; 70 71 public static final double BASE_GROUPSCAN_ROW_COST = 0.12; 74 75 public static final double BASE_NONGROUPSCAN_ROW_FETCH_COST = 0.25; 78 79 public static final double BASE_HASHSCAN_ROW_FETCH_COST = 0.14; 82 83 84 public static final double BASE_ROW_PER_BYTECOST = (0.56 - 0.16) / 100; 94 95 100 public static final int STORECOST_CLUSTERED = 0x01; 101 102 108 public static final int STORECOST_SCAN_SET = 0x01; 109 110 111 116 public static final int STORECOST_SCAN_NORMAL = 0x02; 117 118 129 void close() 130 throws StandardException; 131 132 176 public double getFetchFromRowLocationCost( 177 FormatableBitSet validColumns, 178 int access_type) 179 throws StandardException; 180 181 228 public double getFetchFromFullKeyCost( 229 FormatableBitSet validColumns, 230 int access_type) 231 throws StandardException; 232 233 368 public void getScanCost( 369 int scan_type, 370 long row_count, 371 int group_size, 372 boolean forUpdate, 373 FormatableBitSet scanColumnList, 374 DataValueDescriptor[] template, 375 DataValueDescriptor[] startKeyValue, 376 int startSearchOperator, 377 DataValueDescriptor[] stopKeyValue, 378 int stopSearchOperator, 379 boolean reopen_scan, 380 int access_type, 381 StoreCostResult cost_result) 382 throws StandardException; 383 384 392 RowLocation newRowLocationTemplate() 393 throws StandardException; 394 } 395 | Popular Tags |