A word of warning:
indexes make your query faster because they are basically a compact version of the real table. The index only contains those columns that you defined the index on. All the other data in the table is ignored. That means that if your query needs the data that's in your index, it can read the (very small) index quickly instead of having to read all the other data too.
Don't define an index on all columns at the same time, because then you just have a 1:1 copy of the table, and that's just as slow.
Define indexes on the columns that you use in your query, on as few columns at a time as possible.