In this paper, we explore the problem of the optimal index configuration in object-oriented database systems. The problem is to find a set of nested attribute indexes such that they are used to minimize the overall cost of processing retrieval queries and maintaining the indexes for update queries in a given workload. We also take into account a space limit for storing the indexes. The primary idea of the proposed methodology is to reduce the problem to that of selecting indexes in such a way that the sum of cost savings is maximized subject to a given storage capacity. The correctness of our approach is proved using analytic cost formulas. We characterize the computational difficulty of the problem, which is shown to be NP-hard. We propose an effective approximation algorithm. The algorithm is compared with an optimal searching algorithm. Experiment results show the approximation algorithm; performs well for various input situations.