0
장치에 응용 프로그램을 빌드 할 때 성능 문제가 있습니다. 그것은 실제로 내 데이터베이스에 있습니다. 나는 2114 개의 와인 이름이있는 와인 세부 테이블을 가지고있다.장치에 Objective C 응용 프로그램을 빌드 할 때의 성능
-(NSMutableArray*)getWineDetails
{
[wineDetailsList removeAllObjects];
sqlite3_stmt* statement;
const char *sql = "select *from wineDetails order by name";
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) != SQLITE_OK)
{
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
while (sqlite3_step(statement) == SQLITE_ROW)
{
primaryKey = sqlite3_column_int(statement, 0);
//printf("\n primaryKey1 Value:%d",primaryKey);
wineDetails *wineDets = [[wineDetails alloc] initWithPrimaryKey:primaryKey database:database];
[wineDetailsList addObject:wineDets];
//printf("\n ==========================%d",[wineDetailsList count]);
[wineDets release];
}
sqlite3_finalize(statement);
printf("\n Inside AppDelegate .....wineDetailsList count:%d",[wineDetailsList count]);
return wineDetailsList;
}
나는 테이블에 와인 이름을 표시해야 다른 컨트롤러의 viewWillAppear
에서이 메소드를 호출 오전 : 모든 그 와인의 이름을 얻으려면, 나는 appDelegate
에서이 코드를 작성 전망.
viewWillAppear
코드 :
-(void)viewWillAppear:(BOOL)animated
{
CorkItAppDelegate* appDelegate = (CorkItAppDelegate*)[[UIApplication sharedApplication] delegate];
winesList = [appDelegate getWineDetails];
[tableView reloadData];
}
다음
문제가 나는 장치를 빌드 할 때,이 때문에 데이터베이스의 날짜의 양을 컨트롤러로 이동합니다 너무 많은 시간이 걸린다는 것이다. 이 성능 문제를 해결하려면 어떻게해야합니까?
감사합니다.
Monish Kumar.
안녕하세요, 사실 나는 데이터베이스의 색인에 대해 몰랐습니다. – monish
앱이 더 빨라 졌습니까? –
그래, 나는 index.ven 생각을 사용하여 시도 천천히 ...하지만 그것은 인덱스를 사용하지 전에 전에보다 빠릅니다. – monish