2012-06-28 13 views
6

Zastanawiam się, jakie są kluczowe różnice między używaniem bazy danych SQL Server Compact (.sdf) a pełną bazą danych, jak na przykład SQL Server Express?Wady korzystania z SQL Server Compact w porównaniu z dedykowaną bazą danych SQL Server

Czy są jakieś poważne problemy z wydajnością, a jeśli tak, to jak duża może być kompaktowa baza danych zanim zaczniesz to zauważać?

Przy uruchamianiu projektów uważam, że zastosowanie kompaktowej bazy danych jest prostym, prostym i czystym rozwiązaniem, kiedy powinienem dokonać konwersji i przejść do dedykowanej bazy danych?

Odpowiedz

11

Spróbujmy:

  • Max 2 GB rozmiar pliku
  • Brak procedury składowane, wyzwalacze itp
  • No proces, ale załadowany do AppDomain
  • O ile mi wiadomo, nie ma to optymalizator oparty na kosztach lub plany zapytań dla zapytań
  • Brak równoczesnego dostępu wielu użytkowników w tym samym czasie

Dużym problemem jest to, że CE jest tylko plikiem w twoim systemie i dostajesz dostęp przez proste wywołanie InApp za pomocą biblioteki dll. I to w wielu przypadkach wystarczy. Wiele osób powie, że możesz później przełączyć się na SQLS, ale nie sądzę. To zupełnie inny świat! CE to jeden produkt w moich oczach.

Pamiętaj, że musisz wdrożyć bibliotekę CE-DLL, gdy nie chcesz opublikować swojej aplikacji!

+5

Wielka lista. Dodam, że SQL Server Compact nie ma pamięci podręcznej w pamięci, więc wszystkie zapytania trafiają na dysk cały czas. Z SQL Server Express gorące dane pozostają w pamięci, co może znacznie przyspieszyć zapytania, zwłaszcza jeśli zapytania są często uruchamiane. –

+0

W rzeczywistości jest to maksymalnie 4 GB na bazę danych i jest oparty na kosztach procesor zapytań i plany zapytań. A także API do "unikania" procesora zapytań – ErikEJ

2

SQL Compact nie obsługuje przechowywanych procedur. Piszesz całe zapytanie bezpośrednio w kodzie. To wystarczy, bym wybrał SQL Express. Teraz mamy opcję LocalDB, która upraszcza scenariusze wdrażania.

Powiązane problemy