Witajcie.
Naskrobałem jakiś czas temu programik do drukowania etykiet. Wszystko działa jak należy ale jak kilka dni temu sprawdziłem bazę to okazało się że jest w niej prawie 300 tys. rekordów w jednej z tabel!

Teraz kilka szczegółów: zastosowałem silnik BDE, komponenty Query, połączenie z bazą danych MsSQL poprzez ODBC.

Normalnie klient pracuje w tej samej fizycznej sieci w której stoi serwer MsSQL i nie zauważa jeszcze problemów, jednakże ja próbując się podłączyć z lokalizacji zdalnej zauważam duży problem. Czas startu programu na dzisiaj wynosi około 2 minut!

Wstawiając znaczniki zauważyłem że problem ten występuje w momencie użycia procedury Query.Active:=True.
Zapytania SQL są zoptymalizowane i nie stwarzają w późniejszym czasie problemów tylko ta aktywacja bazy?

Nie mam pojęcia jak to rozwiązać, to że klient nie widzi problemu, to na 100% go zauważy za 2-3 lata, no chyba że przerzucę część danych do jakiegoś archiwum?

Jeśli znacie rozwiązanie problemu to proszę o sugestie.

Pozdrawiam
Robert