/// <summary> /// Returns the cost for performing a quasi-nested loop join /// </summary> /// <param name="ARecordCount"></param> /// <param name="BRecordCount"></param> /// <param name="BuildRightIndex"></param> /// <returns></returns> public static double QuasiNestedLoopJoinCost(long ARecordCount, long BRecordCount, bool BuildRightIndex) { return(ARecordCount * CostCalculator.LogN(BRecordCount) + (BuildRightIndex ? CostCalculator.IndexBuildCost(BRecordCount) : 0)); }
// Index Costs // /// <summary> /// Returns the cost for searching an index /// </summary> /// <param name="RecordCount"></param> /// <returns></returns> public static double IndexSeekCost(long RecordCount) { return(CostCalculator.LogN(RecordCount)); }