table하고 query컴포넌트중..어느것은 속도가 더 빠른가요..?
제가 책에서 보기에는 query컴포넌트가더 빠르다고 하던데요..
실질적으로 해보면...
table이 더 빠른것 같네요..
제가 인터베이스디비에...한꺼번에...한 4만건을 넣어 봤거든요..
table하고 query두개다 이용해봐서..
그런데...table이 헐씬 빠르네요...
void __fastcall TForm1::Button1Click(TObject *Sender)
FILE *fp;
char str[256];
int num;
fp = fopen("log.txt", "r");
if(fp == NULL){
ShowMessage("file not found");
}
while(fgets(str, 256, fp) != NULL){
toks = split(str, " ", 30, &num, 0);
Query1->ParamByName("tmp1")->AsString = toks[0];
Query1->ParamByName("tmp2")->AsString = toks[1];
Query1->ParamByName("tmp3")->AsString = toks[2];
Query1->ParamByName("tmp4")->AsString = toks[3];
Query1->ParamByName("tmp5")->AsString = toks[4];
Query1->ParamByName("tmp6")->AsString = toks[5];
Query1->ParamByName("tmp7")->AsString = toks[6];
Query1->ExecSQL();
for(int i=0; i < num;i++)
free(toks[i]);
free(toks);
}
Query1->SQL->Clear();
Query1->SQL->Add("select * from log");
Query1->Open();
}
이런식으로 넣으면 table이 더 빠르게 들어가더군요...
누가 그러던데..Param으로하는게 속도가 더빠르다고 하더군요..
그래서 파라미터를 이용해서 해봤구요..
split함수는 제가 즐겨사용하는 문자열 자르는겁니다..
이 데이타가 지금은 5만건정도 되는데..음냐..엄청 시간이 많이 드는군요..
데이타만 넣는디...좀더 빠르게 데이타를 넣을수 있는 방법은 없나요..?
|