Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 2 Dołączył: 30.06.2006 Ostrzeżenie: (0%)
|
Witam
Jakiś czas temu opisałem problem z ładowaniem wpisów do bazy - rozwiązaniem okazał się serwer dedykowany i podzielenie pliku na pakiety (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Aktualnie mierzę się z takim problemem: baza zawiera 30 mln wpisów i zwykły count zajmuje 8 sekund (tak, wiem, w postgresqlu są wolne, ale bez przesady!). Jak można rozwiązać problem wydajności przy tej ilości danych? Czytałem trochę o partycjonowaniu tabel, trochę o widokach - jednak nie wiem które rozwiązanie przyniesie największe korzyści wydajnościowe. Tabela zawiera 4 kolumny - 3 integery i 1 boolean. Jeśli to ma znaczenie: wyszukiwanie w niej planowo ma się opierać na czymś takim: WHERE col1 = 5 AND col2 BETWEEN 400 AND 94200 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 2 Dołączył: 30.06.2006 Ostrzeżenie: (0%)
|
Nie - zwykle to będą "paczki" maksymalnie po 100 wierszy, ale przy takim zapytaniu z joinami ustawienie limitu na 10 nic nie da bo i tak musi przeszukać całą tabelę, zrobić łączenia i zajmuje to strasznie dużo czasu.
Stworzyłem zmaterializowany widok żeby troche czasu zaoszczędzić na łączeniu tabel - ale nawet przy takim rozwiązaniu wykonanie zapytania trwa kilkanaście sekund - czyli czas nie do zaakceptowania. Nie masz może jakiegoś pomysłu na to? ===EDIT=== spróbuję założyć indeks na ten widok (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Ziels 6.08.2008, 13:31:42 |
|
|
|
Ziels Postgresql - wydajność 4.08.2008, 11:07:20
Sedziwoj A kiedy miałeś ostatnio VACUUM na niej robione?
C... 4.08.2008, 15:10:22
Ziels Dzięki za odpowiedź
VACUUM - dzisiaj c... 4.08.2008, 15:19:02 
Sedziwoj Cytat(Ziels @ 4.08.2008, 16:19:02 ) =... 4.08.2008, 16:36:02
Sedziwoj indeks na te kolumny:
[SQL] pobierz, plaintext CRE... 4.08.2008, 15:37:59
Ziels Zadziałało - dzięki wielkie Szukanie takie o któr... 4.08.2008, 16:00:08
Ziels Dzięki
To ja moze jeszcze skorzystając... 4.08.2008, 19:32:18
Sedziwoj Proste pytanie, czy jest konieczne aby tyle danych... 4.08.2008, 21:39:16
Sedziwoj Chodziło mi o takie coś, czy przed z... 6.08.2008, 14:28:59
Ziels Dokładnie tamtą stronę czytałem
Ano dokładnie - ... 6.08.2008, 14:31:37 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 02:27 |