Zrobiłem mały test. Dodałem do bazy 100 000 rekordów z losowo wstawionymi 5 datami (2000 - 2004)
mysql_query('SELECT data FROM projekty GROUP BY data');
Bez indeksu: 0,149s
Z indeksem: 0,000516s
mysql_query('SELECT data, projekt FROM projekty WHERE data = 2000 LIMIT 0, 50');
Bez indeksu: 0,006924s
Z indeksem: 0,001141s
Jak widać przy grupowaniu różnica jest ogromna, natomiast tak jak pisałeś przy pobieraniu rekordów różnica też jest, ale już nie taka duża.
Dalej jednak nie rozumiem dlaczego nie powinno się nakładać indeksów na kolumnach z powtarzającymi się rekordami?. Jaka jest różnica w operowaniu na tabeli która zawiera 100 tyś. zer i jedynek (0, 1) a tabeli która zawiera 100 tyś. niepoukładanych cyfr z zakresu 0 - 100 000 (234, 873, 1000, 99645... itd.).
Czemu według różnych kursów w pierwszym przypadku "nie opłaca się" zakładać index-u?, skoro zdaje się że w obu przypadkach założenie index-u daje takie same korzyści. A może się mylę?.