Query optimization module is responsible for generating the lowest cost execution plans for queries running on database systems. The number of alternative execution plans that should be considered during optimization increases exponentially with the number of tables involved in a query. On the other hand, since the optimization is done during compilation-time, optimization time is rather limited. Therefore, eliminating the plan alternatives, which will be discarded later due to high estimated cost, before evaluation can provide significant performance gains. The purpose of this project is to carry out the query optimization faster and more efficiently by using data mining techniques. This project proposes to (i) apply query transformations selectively by graph mining during logical optimization, and (ii) eliminate beforehand the high-cost join order alternatives by using sequence mining techniques during physical optimization.