I have a query that is run once per minute, on multiple tables (with joins). The largest table has 31 million rows after being used for about 18 months. Generally the query is fast (< 1 second), except in cases where we have to go back a few months or more in time (order by datetime field descending, group by, top 1), then it can take up to 20 seconds.
I've started looking at partitioning. Now I read twice that partitioning does not increase query performance, instead it decreases performance, but it was twice by the same person (here and here). Is this correct?