Query optimizers have traditionally been memory insensitive, optimizing queries under the assumption that each operator in the resulting execution plan will be allotted the complete system memory. However, with main memory becoming an increasingly inexpensive resource, systems with large amounts of memory are fairly common. This thesis explores the idea of making query optimizers memory sensitive, so that memory requirements of each operator may be considered while optimizing the query. The available memory may be divided among a number of operators of the query execution plan. These operators can then be executed in a pipeline without the need for writing to disk at an intermediate stage; unlike the traditional optimizer, which forces a disk write after each operator, to free memory
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.