In simple terms, the DBMS processes a query in three phases. What are the phases, and what is accomplished in each phase?

 If indexes are so important, why not index every column in every table? (Include a brief discussion of the role played by data sparsity.)

 What is the difference between a rule-based optimizer and a cost-based optimizer?