~ 650K 행을 가진 로컬 데이터베이스가있는 응용 프로그램을 작성합니다. 이 데이터베이스는 ~ 3 개의 테이블을 가지며 내 앱은 선택에 대해 99 %의 쿼리를 사용합니다. 어떤 종류의 DB가 더 좋은가요? Sqlite 또는 MongoDb? 응용 프로그램은 Windows 8.1/windows 전화입니다. 일반적으로 .NET 용.Windows 응용 프로그램에서 로컬 데이터 저장소에 대한 SQL 엔진
답변
Windows 런타임으로 실행되는 범용 앱에서 유일한 옵션은 SQLite입니다. Silverlight에서 실행되는 noSQL 데이터베이스가 있지만 범용 앱에는 적용되지 않습니다.
당신은 Visual Studio를 통해 확장 기능을 설치하거나 SQLite는 웹 사이트에서 다운로드 할 수 있습니다 :
- SQLite는-NET : 윈도우 폰에서 SQLite는 대한 몇 가지 래퍼가 있습니다
- SQLite-WinRT : https://sqlwinrt.codeplex.com/
두 가지를 모두 가져 와서 가장 적합한 성능을 제공하는 제품을 찾으십시오.
개체 인스턴스로 작업하고 LINQ 방식으로 쿼리하려는 경우 SQLite-net이 가장 좋은 옵션입니다.
SQLite-WinRT는 더 빠른 (아직 벤치마킹하지 않은) 원시 SQL 쿼리와 함께 작동하는보다 순수한 접근 방식을 제공합니다.
P .: 데이터 구조에 대해 알지 못하면 어떤 종류의 DB가 더 나은지 알 수 없습니다.
Are there any Database solutions for Windows Runtime other than SQLite?
Andy와 SQLite-WinRT를 공동 작성했습니다. SQLite의 C API와 직접 대화하는 C++/CX 래퍼입니다. 꼬리표는 없지만 : SELECT 문을 쓰는 것이 행복하다면 충분할 것입니다. 뜻하지 않은'INSERT '수를 수행하려면 [SQLite의 매뉴얼에서이 페이지] (http://www.sqlite.org/faq.html#q19)를 읽어야합니다. API는 모든 것을 강제로 "왕복"비동기 호출로 만듭니다. 이는 많은 행을 반복 할 때 고통이 될 수 있습니다. 나는 SQLite-net이 그것을 더 잘 처리하는지 모른다. –
고마워, 피터. 알아 둘만한! – Fred
이 질문을 참조하십시오 : http://stackoverflow.com/questions/3287966/reasons-for-and-against-
이들은 또한 당신이 참조 할 수 있습니다 응답 SQL-server-to-mongodb에서 이동하기 – Barnstokkr
이것은 앱 배포 방법에 따라 다릅니다. MongoDB는 컴퓨터에서 별도의 서비스/프로세스 인 반면 SQLite는 응용 프로그램에 포함되도록 만들어졌습니다. MongoDB를 실행할 수 있을지 의심되는 Windows Phone에 대해서도 언급합니다. – Martin