Any index can give an advantage by allowing the query to narrow down the set of rows to check.
A multi-column index can help when your query includes conditions for these multiple columns.
For instance:
SELECT * FROM Mytable WHERE user_id = 123 AND created_at > '2013-02-01'
A multi-column index is narrowed down to a subset of the rows that are associated with user_id 123, and then inside that subset it further narrows down the selection to those with the latest created_at value.
Without the second column in the RDBMS index, you have to load all the rows for user_id 123 into memory before it can determine if they pass the criteria.
For more information, see my presentation How to Create Indexes, Really .
source share