ivank, имхо, самое подлое в этой ситуации, что посоветовать что-то конкретное сложно - в современных СУБД очень много оптимизаций которые взаимозаменяют друг друга в зависимости от того, что есть на руках. К примеру если таблица для выборки очень мала (порядка 50 строк), то всегда будет использоваться медленное и обычно устраняемое связывание ALL, т.е. происходит прямое сканирование всей таблицы. В этом случае это быстрее чем все оптимизационные алгоритмы т.к. таблица умещается в памяти целиком. Вообще, лучше, имхо, почитать
это и сделать самостоятельные выводы. А еще
это.