Aktaulizacja bazy Sqlite

0

Cześć,
chciałem was zapytać czy istniej możliwość aktualizacji bazy sqlite, chodzi już o sam plik.
Mam projekt który używa tej bazy, jednak sam plik został stworzony jakieś 5/6 lat temu i nawet nie wiem na jakiej wersji. Można to jakoś sprawdzić?
Wiem jak sprawdzić bibliotekę sqlite jaką mam zainstalowaną w systemie, ale co z samym plikiem, przy kolejnych aktualizacjach bazy nic nie zmienia się w jego strukturze?
Ktoś może orientuje się w temacie?

2

Z dokumentacji:

In other words, since 2004 all SQLite releases have been backwards compatible, though not necessarily forwards compatible.

4

W nagłówku jest zapisaną wersja. https://www.sqlite.org/fileformat.html

1

Nie wiem, czy SQLite (poza tym, o czym pisał @tsz) w jakiś sposób obsługuje aktualizacje i wersje, ale zawsze możesz to zrobić sposobem. Jeśli znasz strukturę bazy, to po prostu przy użyciu nowej wersj SQLite tworzysz nową bazę z takimi samymi kolumnami, a następnie kopiujesz całość z jednej bazy do drugiej. Aczkolwiek tak się zastanawiam, po co w ogóle to robić? Czy masz jakieś problemy, coś chcesz w ten sposób osiągnąć, czy to taka zabawa dla sportu? Bo jest taka jedna ważna zasada - jak coś działa, to tego nie naprawiaj. Jeśli wszystko jest OK, to ja bym nie ruszał, bo raczej poprawy czy zysku nie będzie, ale możesz coś skopać i sobie narobić problemów.

0

Przez te lata baza już mocno spuchła i pojawia się coraz częściej problem z wydajnością.
Nie mogę zmienić sqlite na nic innego wydajniejszego dlatego kombinuję jak usprawnić to co jest.
Zanim zacznę poprawiać indeksy i zapytania zrobię jak napisałeś, przeniosę wszystkie dane na nowo utworzony plik i sprawdzę czy te aktualizację które były przez te lata wpłyną na poprawę wydajności.

3

No ale aktualizacja samego pliku nic nie da. Musisz zaktualizować bibliotekę po stronie klienta (chyba ze juz to zrobiłeś). I raczej bym myślał o przesiadce na co innego jak baza jest waszym wąskim gardłem.

1

Przez te lata baza już mocno spuchła i pojawia się coraz częściej problem z wydajnością

a czy w ogóle tą bazę jakoś odchudzałeś? Puszczałeś na niej jakieś VACUUM - https://sqlite.org/lang_vacuum.html?

0

@cerrato: regularnie to robię ale już przestało wystarczać dlatego szukam innych rozwiązań :)

2

Daj więcej szczegółów. Jakie dane, ile wierszy, ile tabel, jakie zapytania nie dają rady? Co pokazuje EXPLAIN?

1

Wyciągnąłem informację z hedera i okazuje się mój plik na którym obecnie pracuję jest w wersji 3\004
Tworząc nowy plik mam wersję 3\020
Przeniosłem wszystkie dane do nowego pliku i jednak okazuje się, że było warto, prędkość wykonywania zapytań tylko po podmianie bazy poprawiła się o około 15-20% :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1