На примере постгреса процесс можно контролировать самостоятельно http://www.postgresql.org/docs/9.2/static/ecpg.html .
У sybase есть подобный механизм (тоже через подключаемы либы). Принцип аналогичен и у других платформ. Если нужен более развернутый ответ, то нужен более развернутый вопрос. Ну и по поводу sql есть более достоверный ресурс http://sql.ru
Не слышал о таких. Встроенные и так пытается быть оптимальным отталкиваясь от DDL и статистики.
Так что берешь запрос, смотришь план, вспоминаешь как у тебя уложены данные, какое их количество, прикидываешь как было бы оптимальнее и либо правишь/хинтуешь запрос, либо добавляешь/убираешь индексы, либо понимаешь что всё плохо спроектировано и вообще переделываешь структуру таблиц.
Спасибо, было интересно есть ли инструменты помогающие в этом. Ведь за столько лет существования разных стандартов/быдлокодеров по идее должны были появиться.