2010-05-24 4 views
0

연락처를 저장하는 간단한 응용 프로그램이 있습니다. 이 응용 프로그램은 간단한 관계형 데이터베이스를 사용하여 이름, 주소 및 기타 데이터 필드와 같은 연락처 정보를 저장합니다.데이터베이스에서 데이터 가져 오기. 필요한 경우에만 가져 오거나 모든 것을 얻으시겠습니까?

을 설계하는 동안, 나는이 질문이 내 마음에 온 :

데이터베이스를 사용하여 프로그램을 설계, 나는 모든 데이터베이스 레코드를 검색하고 내 프로그램의 객체에 저장, 그래서 매우 빠른 성능이나 I을 가져야한다 필요한 경우에만 항상 데이터를 수집해야합니까?

물론 모든 데이터를 검색하는 것은 너무 많지 않을 때만 수행 할 수 있지만 데이터베이스가 작아 지는지 확인할 때이 접근법을 사용합니까 (예 : < 300 레코드)?

필요한 경우에만 데이터를 가져 오는 비슷한 응용 프로그램을 설계했지만 느린 (Access 데이터베이스 사용) 것이 었습니다.

도움 주셔서 감사합니다.

답변

1

, 응용 프로그램의 작동 상태, 트랜잭션, 여러 사용자 등

일반적으로 당신은 모든 것을 끌어와 응용 프로그램 내 데이터에서 작동하지 않기 때문에 거의 모든 위의 조건은 데이터가 동기화되지 않게합니다. 다른 사용자가 자신의 응용 프로그램 내부에 캐시 된 버전에서 해당 정보를보고있는 동안 사용자가 연락처를 업데이트한다고 가정 해보십시오. 응용 프로그램에서

, 당신은 그들이 현재 화면에 표시 될 것입니다 무엇을 검색하도록 데이터베이스 쿼리를 설계해야합니다. 사용자가 연락처 목록을보고있는 경우가 매겨진보기를하고 있다면, 다음 쿼리는 전체 접촉 테이블, 또는 그것의 일부를 검색 할 것입니다. 그들이 더 자세한 정보를 얻기 위해 연락처를 클릭하면 새 쿼리가 해당 연락처의 전체 세부 정보를 요청합니다.

은 문자열과 연락처 목록이 포함 무엇인지 등의 데이터의 작은 조각의 경우, SQL, MySQL의 또는 Oracle 같은 관계형 데이터베이스 작업의 속도는 문제가 안된다.

1

필요할 때마다 데이터를 검색하고 모든 레코드를 검색하여 오브젝트에 저장하는 것이 오버 헤드가 될 수 있다고 생각합니다. 그리고 작은 데이터베이스가 있다고 할 때 필요할 때 레코드를 가져 오는 것이 전혀 문제가되지 않아야합니다.

이 데이터의 종류에 많이 의존
관련 문제