1. A method for optimizing placement of database objects on a plurality of storage devices, the method comprising: placing a set of database objects on a first storage device in a plurality of storage devices, wherein each storage device in the plurality of storage device comprises differing characteristics; running a query workload on the set of database objects that have been placed on the first storage device; collecting profiling information associated with the query workload that is running; determining, based on collecting the profiling information, at least a number of pages read and written for each database object in the set of database objects; selecting, based on the profiling information that has been collected, a subset of database objects from the set of the database objects to be stored on a second storage device in the plurality of storage devices; and storing the subset of database objects on the second storage device and all remaining database objects in the set of database objects on the first storage device.