Я использую sqlite на iphone.
У меня есть таблица с 200 000 записей. Размер небольшой, всего 2 МБ. Я делаю стандартный выбор (3 столбца) с двумя простыми условиями. Я работаю только с целочисленными значениями (взамен и условием). Все данные уникальны. Я обычно получаю только 10-50 записей из базы данных.
Несмотря на это, мой запрос занимает 3 сек. Это много времени.
Как я могу улучшить это?
Редактировать: я не могу загрузить свою таблицу с другим потоком.
NSString * query = [ NSString stringWithFormat:@"SELECT rRozklad.hour, rRozklad.minute, rRozklad.marks FROM rRozklad.idOkres=%i AND rRozklad.idPolaczeniaLinie=2 ORDER by rRozklad.hour, rRozklad.minute", okres];
NSLog(@"%@", query);
const char * querystring = [ query UTF8String ];
sqlite3_stmt * statment;
if(sqlite3_prepare_v2(database, querystring, -1, &statment, nil) == SQLITE_OK){
while(sqlite3_step(statment) == SQLITE_ROW){
NSMutableArray * temp = [[NSMutableArray alloc] initWithCapacity:2];
[temp addObject:[NSNumber numberWithInt: sqlite3_column_int(statment, 0)]];
[temp addObject:[NSNumber numberWithInt: sqlite3_column_int(statment, 1)] ];
[temp addObject:[ NSString stringWithUTF8String: (const char *)sqlite3_column_text(statment, 2)]];
[wyniki addObject:temp];
[temp release];
}
}