2012-02-01 1 views
2

나는 꽤 많은 데이터를 추출해야하는 데이터베이스를 가지고있다. 이제 필자는 필요할 때 데이터를 가져옵니다. 즉, 데이터베이스 상호 작용을 처리하는 클래스를 만들었고 데이터에 대한 클래스를 호출 할 데이터가 필요한 작업이있을 때마다이를 얻었습니다. 따라서 한 번에 활동은 최소한의 양의 데이터 만 메모리에 저장합니다 (즉, 사용중인 데이터). 그러나 매번 내가 활동을 변경하면 나는 새로운 활동을 위해 데이터를 가져 오기 위해 데이터베이스 액세스를 수행해야한다.응용 프로그램 변수의 효율성?

방법이 내가 모든 활동 (응용 프로그램 개체를 만든 다음 처음에 데이터베이스 액세스를 수행하고 내가 필요로하는 모든 데이터를 저장하는이 다른 대안을 가지고이 반대로

)를 응용 프로그램 객체에 추가합니다. 데이터가 필요할 때마다 응용 프로그램 개체를 참조합니다. 이것의 단점은 내가 너무 많은 여분의 데이터를 내가 가지고있는 순간에 사용하지 않을 것이다.

위의 두 가지 방법 중 어느 것이 더 낫습니다.

미리 감사드립니다.

답변

0

귀하의 요구 사항과 우선 순위에 따라 다릅니다. 솔루션 2에 필요한 시간이 너무 오래 걸리고 (예 : 방법 2를 사용하여 최적화 할 수 있지만 일반적으로 모든 데이터베이스가 잠재적으로 메모리에 저장되지 않도록 권장합니다. 메모리 양이 충분하다고 가정 할 때).

해결책 1을 시도 했습니까? 문제가 데이터베이스에서 데이터를 읽는 것일뿐 아니라 하나의 활동에 대해 데이터를로드하는 데 너무 오래 걸리지 않아야합니다. 복잡한 계산이 관련된 경우 최적화를 위해 눌러 질 수 있습니다. 그러나 경우에 맞게 최적화하지 마십시오!

+0

답해 주셔서 감사합니다. 내 데이터베이스 작업은 매우 평범한 .. 그들은 많은 작업을 필요로하지 않습니다. 나는 옵션 1에 더 관심이있다. 그것은 더 효율적으로 보인다. – user590849

+0

제가 말했듯이, 방법 1이 선택을위한 시간면에서 충분하다면, 확실히 방법 2를 구현하지 마십시오. – Stefan

0

데이터베이스에 대한 호출이 여러 응용 프로그램에서 액세스 할 때까지 비용이 많이 들지 않으므로 첫 번째 방법을 선호합니다.