Disk I/O is a major bottleneck for query processing in database applications. This bottleneck is especially a problem for temporal databases because of their large size. Reduction of search space is a key factor in ensuring a good performance. Indexing and clustering are the typical techniques used for this purpose. In a temporal database, each tuple (or more correctly, each version of a tuple) has an attribute recording the valid time, represented by [starttime, end time], of a tuple. In processing a temporal query, tuples are retrieved based on either the start time or the end time, or both of them. If index is built only on the start time (or the end time), merely the queries whose search condition is on the start time (the end time) are facilitated. To facilitate all types of queries, it is necessary to index tuples on both the start time and the end time. In this paper, we propose a multidimensional file structure, called the Temporal Grid File (TGF), that indexes (clusters) temp...