안녕하세요
스레드 내에서 
Query를 동적으로 생성하고
Database 연결한 후 
select , update , delete, insert  명령등을 수행합니다.
그리고 마지막으로 Query.free 를 사용해서
소멸 시키는데요 이런 구조는 
호출이 잦을때 오버헤드가 발행될것 같은데 이를 해결 
할수 있는방법이  Query Pool 같은 곳에 미리 여러개 생성해놓고 
재사용 한다면 좋은 성능을 낼 수 있습니다. 들었습니다.
Qeury Pool은 어떻게 사용하나요?
  --- 스레드내에서 Query 동적생성예 --
   try
     QRtemp := TQuery.Create(self);
     QRtemp.DatabaseName := Database1.Databasename;
     with QRtemp,QRtemp.SQL do begin
        Close;Clear;
        Add('select ~~');
        ~
     end;
   finally
     QRtemp.Free;  
   end;