Używam Visual Studio 2008. i jestem nowy w sqlce. Sprawdzam plik sdf i jeśli sdf nie istnieje, tworzę, a następnie wstawić około 5000 wierszy do mojego sqlce db.Jeśli istnieje sdf, najpierw usuń wszystkie wiersze tabel a następnie wstaw te rekordy do istniejących tabel. Po wstawieniu kompletuję, zbieram bazę danych. A tak przy okazji, kompaktowanie trwa około 13 sekund. Wiem, że metoda, która wywołuje Shrink.Shrink i Compact powoduje, że db jest mniejszy, ale w tym scenerio który z nich powinien używam? Jak mogę zrobić kompaktowanie w krótszym czasie? Nie potrzebuję kopii zapasowej sdf i po kompaktowym, i usunąć stary sdf.i przeczytać this temat, ale nie mógł zdecydować, który powinienem użyć.Shrink lub kompaktowy w Sql Server CE?
Odpowiedz
proszę zobaczyć:
który cytuje z SQL Server Compact Team Blog:
SqlCeEngine/ISSCEEngine: Shrink Vs Compact Różnica między tych dwóch jest znacznie podobny na wewnętrzny i zewnętrzny fragment pamięci mentacja.
Od SqlCeEngine.Shrink documentation:
odzyskuje zmarnowana przestrzeń w bazie przesuwając pusty i nieprzydzielone stronach do końca pliku, a następnie obcinanie pliku. Można skonfigurować automatyczną bazę danych, aby automatycznie pomniejszyć ją o , ustawiając opcję progu automatycznego owijania w łańcuchu połączenia. Zmniejszenie nie powoduje utworzenia tymczasowego pliku bazy danych .
Od SqlCeEngine.Compact documentation:
odzyskuje zmarnowana przestrzeń w bazie tworząc nowy plik bazy danych z istniejącego pliku. Tworząc nowy środek bazy danych o nazwie , odzyskuje wolną przestrzeń między wierszami.
Aby być bardziej zrozumiałym, Shrink twierdzi, że strony są całkowicie darmowe lub nieprzydzielone; gdzie jako, Kompaktowe roszczenia zmarnowane miejsce na stronie też. Dlatego Kompakt wymaga utworzenia nowego pliku bazy danych .
Pusta przestrzeń z na stronie może być w wyniku:
1) Jeżeli było 5 rzędów w stronę a dwa z nich są usuwane
2) Jeżeli było wiersz środkowa część strony który na aktualizacji wymagane więcej przestrzeń, został przeniesiony na strony (Ex: aktualizacja kolumna nvarchar)
Puste strony i nieprzydzielone stron może pozostać w bazie danych jako re DOPROWADZIĆ od:
1) Wszystkie wiersze na stronie są usuwane
2) Ogólna tabela jest odrzucany
- 1. Jaka jest różnica między Shrink i Compact w SQL Server CE?
- 2. Wstawianie zbiorcze w SQL Server CE
- 3. Jak mogę uaktualnić bazę danych Sdf Sql Server CE 3.5 do Sql Server CE 4.0?
- 4. Profiler dla Sql CE
- 5. Ustal, czy tabela istnieje w SQL Server CE?
- 6. SQL CE Maksymalna długość
- 7. sqlbulkcopy przy użyciu sql CE
- 8. Problem z wielkością bazy danych SQL Server CE
- 9. Tworzenie pliku bazy danych programu SQL Server CE programowo
- 10. Kod SQL Server CE Pierwsze problemy z migracjami
- 11. Sql Server CE - Tymczasowe wyłączanie automatycznego przyrostu dla konkretnej kolumny
- 12. SQL Server CE: jeśli istnieje aktualizacja else wstaw
- 13. Zarządzanie profilami użytkownika za pomocą SimpleMembership/Sql Server CE, MongoDB
- 14. Granica SQL CE 4.0
- 15. Jak korzystać z SQL Server Compact Edition (CE) z Java?
- 16. Jak mogę zarządzać bazami danych SQL CE w SQL Server Management Studio?
- 17. lub operator Zwarcie w SQL Server
- 18. SQL CE 4.0 jako InstallShield Wymaganie wstępne
- 19. Problemy z połączeniem z Sql Server CE 4.0 z Sql Management Studio 2008
- 20. Jak przyspieszyć wstawki LINQ z SQL CE?
- 21. Pierwszeństwo SQL Server Operator: And i Lub
- 22. Przecięcie w SQL Server
- 23. UNIX_TIMESTAMP w SQL Server
- 24. DivideByZeroException z SQL Server CE 4 podczas usuwania dużej liczby wierszy
- 25. Problem z instalacją programu SQL Server CE 4.0 - które pliki są niezbędne?
- 26. SQL Server CE - Błąd wewnętrzny: nie można otworzyć obszaru pamięci współużytkowanej
- 27. Program Visual Studio 2013 nie ma dostawcy danych programu SQL Server CE
- 28. flex-box: shrink before wrap
- 29. składni XML w SQL Server
- 30. Jak wstawić (zaktualizować lub wstawić) w SQL Server 2005