ogromna baza danych, przyśpieszanie

0

Załóżmy że mam bazę danych w pliku .mdb (access) no i w niej znajduje się około 20 000 000 (20 milionów) numerów lub wyrazów lub i tego i tego. zajmuje około 190 mega.

Jak ją uruchamiam w ms access to jak za pomocą sql wpisuje żeby coś w niej znaleźć to trwa to bardzo długo.
Jak to zmienić ? przyśpieszyć ? jakbym chciał żeby podłączyć do tej bazy aplikacjie w c# albo delphi przez ado to będzie trzeba czekać tak samo jak w accessie żeby to znalazło !
Jak ją tą bazę zmienić aby to działało szybko ? zmienić na inny rodzaj bazy ? czy może umieścić ją na jakimś serwerze dedykowanym ale to za drogo dla mnie.pomocy.

0
  1. do ogromnej bazy to Ci tak ze dwa zera w rozmiarze brakuje
  2. jeśli nie musi to być access to go olej bo jest wolny i zainteresuj się FireBirdem (dla delphi jak znalazł), postgresqlem albo MSDE (choć dwie ostatnie to jak armata na muchę). Jeśli dostęp ma być TYLKO z jednego stanowiska to jeszcze FireBird Embedded, SQLite i podobne
  3. no i wypadało by mieć indeksy na polach po których szukasz
0

ale to ma być baza + aplikacja którą będe mógł dowolnie rozpowszechniać, żeby inni nie musieli instalować nic oprócz mojego programu, i chce go napisać w c#, to może to firebird embedded albo sqlite z c# wrapperem to moze być ? (i czy mogą być też zastosowania komercyjne jak użyje tych baz?) dziękuję.

0

SQLite byłoby chyba dobrym wyborem.

0

No to jeśli ma być tylko Twoja aplikacja, to raczej Access odpada - w końcu jest to niezależna, komercyjna i droga aplikacja. Jeśli ma to być na zasadzie off-line (baza dołączona do programu), to tak jak Misiekd napisał, jakieś FB Embedded albo coś takiego - wystarczy. Jeśli ma być w sieci (na jakimś serwerze) i dostępna z komputera klienta, to jakąś wersję na wiele połączeń zdalnych.

0

zarówno FB jaki i SQLite są free

0

no i zrobiłem tą bazę w firebird embedded, są tam same wyrazy, jest ich około 5 000 000, jedna tabela, jedna kolumna, same wyrazy. żadnych dodatkowych rzeczy ani indexów nic. no i jak wyszukuję w c# np. select * from baza where dane like '%ż%' to wiecie ile musze czekać żeby mi wszytsko znalazło ? KUPE CZASU !!!!!! i co mam zrobić.dzieki.

0
krzysiek12121212 napisał(a)

no i zrobiłem tą bazę w firebird embedded, są tam same wyrazy, jest ich około 5 000 000, jedna tabela, jedna kolumna, same wyrazy. żadnych dodatkowych rzeczy ani indexów nic. no i jak wyszukuję w c# np. select * from baza where dane like '%ż%' to wiecie ile musze czekać żeby mi wszytsko znalazło ? KUPE CZASU !!!!!! i co mam zrobić.dzieki.

Zrób indeksy... [glowa]

0

po co ? jak tam są same wyrazy, szukam tylko wyrazów , po co mi indexy ?

0

przy takim zapytaniu

select * from baza where dane like '%ż%'

nigdy nie będzie szybko

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