3

현재 RAM에 저장된 많은 양의 데이터를 사용하는 C# 및 .NET CF에 Windows 모바일 응용 프로그램을 작성하고 있습니다. Windows CE의 가상 메모리 제한으로 인해 RAM 사용을 줄여야합니다. SQL CE 데이터베이스를 사용하고 데이터베이스에 데이터를 저장하면 RAM 사용량이 감소하는지 궁금합니다. 기본적으로 데이터가 디스크에 저장되었는지 RAM에 저장되는지는 SQL CE 데이터베이스가 사용되는시기를 알아야합니다..NET에서 SQL CE 데이터베이스의 RAM 사용 CF

아무도 도와 줄 수 있습니까?

+0

또한 SQLite를 살펴보십시오. 이는 모바일에서도 작동하며 설치 공간이 훨씬 적습니다. –

답변

7

SQL Compact는 파일을 백업 저장소로 사용합니다. RAM 사용량을 줄일 수 있습니까? 이는 현재 수행중인 작업과 SQL Compact 데이터베이스 사용 방법에 크게 달려 있습니다.

SDF 파일을 영구 저장소에 저장하면 저장소에 필요한 RAM이 적어집니다. 한 테이블에 모든 것을 넣은 다음 DataTable과 같은 것을 사용하여 "SELECT * FROM MyTable"의 결과를 보유하면 전체 내용이 RAM으로 복제되어 모든 이점을 제거합니다. 그러나 SQL 문을 사용하여 반환 된 데이터를 필터링하면 메모리 사용량이 줄어 듭니다. 거대한 DataSet 대신 ResultSet 및 DataReader를 사용하면 큰 차이가 있습니다.

그럼 메모리 사용량을 줄일 수 있습니까? 아마도 데이터베이스 엔진을 사용하여 한 번에 데이터의 작은 부분을 볼 수 있습니다. 다시 말하지만, 그것은 모두 당신이 지금하고있는 일에 달려 있습니다.