![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 194 Pomógł: 2 Dołączył: 12.04.2004 Skąd: Częstochowa Ostrzeżenie: (10%) ![]() ![]() |
Mamy pytanie dotyczące sensu stawiana bazy na silniku postgre danych w przypadku gdy :
- baza zawiera ok. 400 milionów rekordów. Rozmiar rekordu od 120 do 950 bajtów. - nie można tworzyć kluczy primary key bo dane w kolumnach nie są unikalne. - baza ma pracować online wystawiona w intenrnecie z średnio 4,5 userami online. - zapytania do bazy danych odwołują się do 3-6 tabel jednocześnie. Baza zawiera wszystkie części samochodowe świata. Czy jedynym wyjściem jest tutaj oracle? W tym momencie zapytanie o wyświetelenie 30 rekordów w pgadminie do jednej z głównych tabel trwa około 4 minut. (tabela przeindeksowana i klastrowana) Może ktoś borykał się z takimi bazami. będę wdzięczny za każdą odpowiedź. Ten post edytował dado 15.10.2008, 08:54:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Z tego zapytania co pisałeś wynika (nie wnikam w jego sens czy też sposób gromadzenia danych), że potrzebujesz takie index'y na:
GenArtNr NartNr BezNr VerwNr genartnr,krintnr,kritwert,SprachNr (index 4 kolumnowy) sortnr To tylko te indexy z których powinna wykorzystać baza danych w czasie wykonywania tej kwerendy, ogólnie moim zdaniem problem wymaga lepszego przebadania, ale nie mam czasu aby tego zrobić, zresztą nie mi za to płacą. Pamiętaj że klastry opłaca się budować jeśli jedno zapytanie prawie zawsze trafia do jednego z klastrów. Co do klucza głównego, to pamiętaj że może być wielokolumnowy i taki powinieneś założyć, dodanie jednej kolumny typu serial nic nie da, a nawet będzie tylko dodatkowy narzut. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 03:28 |