I realized, that the response to a MySQL query becomes much faster, when creating an index for the column you use for "ORDER BY", e.g.

```
SELECT username FROM table ORDER BY registration_date DESC

```

Now I'm wondering which indices I should create to optimize the request time.
For example I frequently use the following queries:

```
SELECT username FROM table WHERE
    registration_date > ".(time() - 10000)."

SELECT username FROM table WHERE
    registration_date > ".(time() - 10000)."
    && status='active'

SELECT username FROM table WHERE
    status='active'

SELECT username FROM table ORDER BY registration_date DESC

SELECT username FROM table WHERE
    registration_date > ".(time() - 10000)."
    && status='active'
    ORDER BY birth_date DESC

```

**Question 1:**
Should I set up separate indices for the first three request types? (i.e. one index for the column "registration\_date", one index for the column "status", and another column for the combination of both?)

**Question 2:**
Are different indices independently used for "WHERE" and for "ORDER BY"? Say, I have a combined index for the columns "status" and "registration\_date", and another index only for the column "birth\_date". Should I setup another combined index for the three columns ("status", "registration\_date" and "birth\_date")?