В общем (и я действительно имею в виду ОБЩИЕ) драйвер ODBC добавляет еще один слой в микс. Он должен принять ваш запрос и перевести его на родной язык запросов (где родной язык - не SQL, или его полная реализация). Этот перевод / интерпретация увеличивает производительность, что для некоторых источников данных хуже, чем для других.
Посмотрите на эту короткую рекламу Microsoft, чтобы узнать немного об архитектуре драйвера ODBC:
Архитектура ODBC
Архитектура драйвера ODBC