If I have a database with 3+ million rows in a hybrid environment (neither completely OLTP or DSS) and I partition the tables say by month which the records are timestamped with (one of the columns in each table is the timestamp), will this significantly improve select statements such as select * from tablex where date between xxx and yyy; ? I presume this would involve only the partitions that contain data rows which are referenced by the where clause, correct? This being the case, would this not be more efficient than just having an index on the tables? Since the query may involve several tables, several indexes would come into play. Partitioning at a glance seems like the way to go, am I correct in this line of thinking?