A Cost Model for a Fingered Join Operator in Relational Query Plans
MetadataShow full item record
We introduce the finger aware cursor operator for relational join queries. It scans a list of tuples in a finger enabled manner when a nested loop join operation is performed. Using this scan operation, we improve the performance of nested loop join when compared to when compared to conventional scan. To quantify the improvement in performance using fingered scan, a statistic named runs that quantifies the degree of randomness in a list of records is introduced. This statistic is vital in assessing the performance improvement achieved using fingered scan. Using runs statistic as a key ingredient, we develop a cost model that can assign a cost value to the join operation based on underlying fingered scan. We then develop a cost formula and evaluate the cost model against a simulated data set. We show that conventional System R cost model is not sufficient to capture the performance improvement. We then evaluate using the new cost formula and show that it predicts the cost of join operation correctly.