Курсоры

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

Для более подробного ознакомления с этими и другими возможностями пожалуйста, рассмотрите примеры.