Да кстати забыл сказать, если в своем запросе:
[sql]
SELECT *
FROM bs_link
INNER JOIN bs_session ON bs_link.id = bs_session.link_id AND bs_session.depth < 3
WHERE bs_link.password_id = 5
[/sql]
bs_session.depth < 3 заменяю на bs_session.depth = 3
То итндекс используеться полностью.
Дело оказалось имнно в данных, почему-то оптимизатор на моих данных не использовал индекс, хотя как мне казалось при использовании полного индеска ускорили выборку.
Пришлось поменять структуру данных.