ogromna baza danych, przyśpieszanie

Odpowiedz Nowy wątek
2006-10-23 15:25
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.

Pozostało 580 znaków

2006-10-23 15:43
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

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-10-23 17:01
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ę.

Pozostało 580 znaków

2006-10-23 17:15
0

SQLite byłoby chyba dobrym wyborem.


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

2006-10-23 17:19
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.


Grunt to uziemienie...

Pozostało 580 znaków

2006-10-23 18:11
0

zarówno FB jaki i SQLite są free


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2007-02-06 12:42
krzysiek12121212
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.

Pozostało 580 znaków

2007-02-06 13:23
ptk86
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]

Pozostało 580 znaków

2007-02-06 13:42
krzysiek12121212
0

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

Pozostało 580 znaków

2007-02-06 14:07
0

przy takim zapytaniu

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

nigdy nie będzie szybko


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2007-02-06 17:24
krzysiek12121212
0

no to co mam zrobić jak ona ma tak działać ? pomóż mi proszę. szybsze jest chyba zapytanie sql mające na celu znaleźć dane zawierające określone litery, niż znalezienie wszystkiego *, a potem wywalenie niepotrzebnych uzywajć stringów i operacji na nich w c# albo regex ów ? co mam zrobić proszę pomóżcie.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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