Wrażenia cz1.
Na razie przetestowałem MS SQL Servwer CE.
Porównywałem MS SQL Server CE i MS SQL Server Express (każdy z porównywanych produktów jest darmowy do celów komercyjnych).
Jeśli chodzi o rozmiar plików, to trudno dostrzec jakąś regułę, ale wygląda na to, że rozmiary plików (baz danych) SQL CE są nieznacznie mniejsze. Jeśli chodzi o wydajność, to zapytania były dłużej wykonywane w przypadku SQL CE. Jednak według mnie różnice są żadne, bo są mniejsze niż 1% czasu wykonywania zapytania (nie twierdzę, że zrobiłem wiarygodne testy, po prostu porównywałem czas wykonywania określonych zapytań, w tle chodził winamp, całe VS, przeglądarka, TotalCmd itd więc pomiar może być zaburzony). Bazy danych na których przeprowadzałem testy składały się z 2-5 tabelek w każdej 5-10 kolumn i około 300-500 wierszy. Większość była typu varchar(10-300) lub int.
Ku mojemu zdziwieniu VS po zainstalowaniu SQL CE nie wykryło automatycznie odpowiednich bibliotek pomimo restartu komputera (Vista), ale za to nie miało problemów z wykryciem tego, że ‘działa’ server SqlCE. Po założeniu jakiejś bazy danych przez ‘klikanie’ w VS nie było już problemów.
Polecenia są praktycznie identyczne jak w przypadku zwykłego SQL, więc w przypadku istniejącego kodu pod SQL wystarczy zmienić w kodzie SQL* na SQLCE* i działa bez zarzutów.
Polecam wersję 2005 SQL CE (oczywiście z wszystkim SP), bo wersja 2008 SQL CE jest jakaś koszmarnie wielka (zresztą pewnie nie bez powodów, ale jak głównym celem tak jak u mnie jest pozbycie się XML z projektu + posiadanie zalet relacyjnych baz danych to w zupełności wystarcza 2005).
Myślę, że za jakiś czas trzeba będzie skorzystać z 2008 czy się chce czy nie.
Niewątpliwą zaletą SQL CE jest to, że nie obciąza tak systemu jak SQL Express
Podsumowując:
MS SQL Server CE to dobre rozwiązanie gdzy
-
Chcemy się pozbyć XML z projektu
-
Potrzebujemy używać małych baz danych, a chcielibyśmy mieć wszystkie zalety bazy danych (zapiszczcie sobie w XML tabelkę i spróbujcie napisać kod odpowiadający
select kol1, kol2 from tabelka order by kol1
- jest to już ładnych kilka linii kodu
- Chcemy mieć pewność, że nie zirytujemy użytkownika naszego programu działającym bez powodu MS SQL Express.
Windows Vista Basic - 32 bit, VS2008 Proffesional, 3GB DDR2, INTEL Core 2 Duo T5750 2GHz