Проблема с производительностью в iOS-5 для Sqlite

Я столкнулся с одной проблемой при использовании sqlite в iOS 5. Я извлекаю записи из двух таблиц: одну в Recipe и другую в Ингредиенты из одного Menu.db

Из таблицы рецептов я получаю все записи и один recipeidна этой основе я извлекаю записи из таблицы ингредиентов. При запуске на iOS 4.2 получение записи не занимает много времени, но когда я работаю на iOS 5, для получения записей требуется время. См. следующий код:

NSString *query = [NSString stringWithFormat:@"select id from Recipes"];
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(database, [query UTF8String], -1, &selectstmt, NULL) == SQLITE_OK) {
    while(sqlite3_step(selectstmt) == SQLITE_ROW) {
        rcp.recipeID = sqlite3_column_int(selectstmt, 0);
        NSString *sql = [NSString stringWithFormat:@"select Name from Ingredients where recipeId = %d",rcp.recipeID];
        sqlite3_stmt *stmt2;
        if(sqlite3_prepare_v2(database, [sql UTF8String], -1, &stmt2, NULL) == SQLITE_OK) {
            while(sqlite3_step(stmt2) == SQLITE_ROW) {}
        }
    }
}

Почему эта проблема появляется в iOS 5.0, тот же код работает нормально на iOS 4.0, 4.2?

Я знаю, код, который я написал, правильный, я хочу знать точную причину этой проблемы с производительностью в iOS 5.0 для Sqlite, потому что мое приложение полностью основано на базе данных.

7
задан Rupesh 5 July 2012 в 05:08
поделиться