В текущей реализации Firebird ODBC драйвера, курсоры
Динамический(Dynamic) и Клавиатурный(Keyset) будут выполняться в режиме
Статический(Static) курсор. Также не возможно модифицировать курсоры.
Для получения максимальной эффективности используйте тип курсора вперед
направленный(ForwardOnly).
Операторы чтения: (SQLFetch, SQLExtendedFetch, SQLScrollFetch) используют
SQL_ROWSET_SIZE и SQL_ATTR_ROW_ARRAY_SIZE, что позволяет использовать
пакетное чтение. Допускается использовать оператор SQLBindParameter, для
связывания полей типа Blob или Array, что значительно ускоряет работу,
так как не выполняются медленные операторы SQLPutData/SQLGetData, однако
это требует наличия выделенной памяти под эти объекты, что не всегда
возможно.
Для более подробного ознакомления с этими и другими возможностями пожалуйста, рассмотрите примеры.