Memory-resident databases are gaining popularity. In this paper, we present a data-centric approach to optimize multiple queries issued to a memory-resident database. Our approach involves a bottom-up methodology that reuses each block of data in a table to optimize several queries. We define data window as a block of the data residing in the memory brought to the cache. The optimization named data windowing, schedules database queries efficiently by reorganizing queries and its operations based on a data window. Each data window brought into the cache is maximally reused by queries before evicting it from the cache to accommodate another data window. Experimental results show that data windowing yields up to 75% improvement in the cache performance for typical and heavy-duty memory-resident workloads.