대용량 데이터 (때때로 1 백만개 이상의 데이터 포인트)를 저장하기 위해 배열을 사용하는 코드가 있는데 동적으로 정의 할 수 있기 때문에 배열을 사용합니다. 2 방향으로 움직이며 특정 위치에 값을 삽입 할 수 있습니다. 그러나 내가 Redim
을 사용하여 배열의 크기를 변경할 때 RAM에 배열의 복사본이 만들어져 결국 RAM이 부족 해지는 것을 발견했습니다. 배열을 제거하고 RAM을 절약하는 데 Erase
을 사용하면 Redim
을 사용하여 새 배열을 만들 수 있습니다. 그러나 두 번째 배열을 만들고 수동으로 데이터를 복사하지 않는 한, 즉, 내 데이터를 보관할 위치가 없습니다.배열 대신 사용하는 클래스 또는 재분할 및 저장 방법
Redim
에는 RAM을 잃지 않고 배열을 배열 할 수 있지만 수동으로 새로운 배열로 복사 한 후 다시 가져 오는 것이 아니라보다 효율적인 데이터 보관 방법이 있습니다. 또는 위의 요구 사항을 충족하는 배열 대신 데이터를 보유 할 수있는 또 다른 클래스가 있습니다.
일부 코드는 샘플 코드를 요청하십시오. 이 방법으로 배열을 사용하여 당신의 도움이
... 결국 RAM이 부족합니까? 메모리 누수에 대해 이야기하고 있습니까? 어떻게이 일을하고 있는지 보여 주실 수 있습니까 (코드)? 메모리 누출이 아니라면 데이터 세트가 커질 때 RAM에 두 개의 복사본을 저장할 공간이 없다고 말하고 있습니까? –
나는 이것이 메모리 누출이 아니라고 확신한다. 나는 Redim Preserve와 Redim을 수백만 레코드가 여러 번 배열에 사용하고있었습니다. 나는 단지 배열을'지우기'와'Redim'으로 코드를 업데이트했고, 이제는 RAM 오류를 얻는데 사용 된 데이터 양의 두 배에 대해 작동합니다. – Pezzzz