필드내용은 필드이름이 Contents 이구요 형은 MEMO 구요 크기는 100으로 정해두었습니다. 저장된 데이타들은 약 600 여건이구요
처음에 그 디비화일을 디비메모에 연결해서 바로 보여주려니까 너무 읽어오는 시간이 느리더라구요(정말 느림 - 수차례 확인한 결과입니다.) 그래서 이것저것 편법을 써보다가 그냥 메모컴포넌트를 하나 폼위에 올리고 테이블에서 읽어오기로 했지요.그랬더니 마찬가지로 너무 느리더라구요..
> 필드내용은 필드이름이 Contents 이구요 형은 MEMO 구요 크기는 100으로 정해두었습니다. 저장된 데이타들은 약 600 여건이구요
> 처음에 그 디비화일을 디비메모에 연결해서 바로 보여주려니까 너무 읽어오는 시간이 느리더라구요(정말 느림 - 수차례 확인한 결과입니다.) 그래서 이것저것 편법을 써보다가 그냥 메모컴포넌트를 하나 폼위에 올리고 테이블에서 읽어오기로 했지요.그랬더니 마찬가지로 너무 느리더라구요..
메모필드에 들어있는 내용은 고작 한글 2~3페이지 입니다.
그런데도 어떤 데이타는 아예 읽어오지도 못하는 군요. 그리고 메모컴포넌트는
memo1.lines.text := query1.FieldByName('Contents').asstring;
memo1.lines.strings[0] := query1.FieldByName('Contents').asstring;
이렇게 해도 다운되는거 같은 현상은 마찬가지 였고,
스트림을 이용해서 읽어보아도 마찬가지로 로딩되는 속도가 엄청 느립니다. T.T 아래처럼 사용했습니다.
Stream := TBlobStream.Create(query1.FieldByName('Contents') as TBlobField, bmRead);
try
Size := Stream.Seek(0, 2);
Stream.Seek(0, 0);
Inc(Size);
GetMem(Buffer, Size);
try
FillChar(Buffer^, Size, #0);
Stream.Read(Buffer^, Size);
Memo1.SetTextBuf(Buffer);
finally
FreeMem(Buffer, Size);
end;
finally
Stream.Free;
end;
컴포넌트 자체에서 읽어오는 속도가 느린것인지..
하도 신기해서 디비 익스플로러에서 그 메모필드를 열어 읽어보았더니 어떤 컴포넌트인지 몰라도 번개같이 읽혀지더군요..
그렇게 만들수는 없는지요?
벌써 며칠째 입니다. 쉽게 생각했다가 허벌나게 고생하고 있습니다
고수분들의 조언을 기다리겠습니다.