Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SQL_CALC_FOUND_ROWS
ActivePlayer
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


w manualu mysqla cos takiego znajde... a pg niestety nie potrafie... trzeba count(*)? nie wydaje mi sie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) any idea ?
Go to the top of the page
+Quote Post
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




O ile się nie mylę, depesz kiedyś napisał, że w przypadku bardzo dużych tabel count() rzeczywiście może być mało wydajne.
Niestety - nie było dla niego prostej i wydajnej alternatywy wbudowanej w PG

Natomiast nic nie stoii na przeszkodzie, by problem rozwiązać samodzielnie.
Wystarczy bowiem utworzyć dodatkową tabelę lub np. SEQUENCE w której będzie się przechowywać informację o ilości wierszy. A następnie utworzyć odpowiedniej trigery ON DELETE i UPDATE które będę zmniejszać lub powiększać tą wartość.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


jest pewien problem... to jest count na widoku.. hmm
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


@DeyV Tak sie zastanawiam co jest lepsze tabela czy sekwencja i jak to sie ma do czasu zwrocenia. Jesli interesowala by nas kazda tabela to chyba lepiej zrobic 1 tabele i zapisywac ilosc dla kazdej tabeli.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


w moim przypadku to widoki.. bedzie ich okolo 12...
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
w moim przypadku to widoki.. bedzie ich okolo 12...

Odnosnie widokow nic nie przychodzi mi do glowy bo wynikiem widoku moze byc nieokreslona liczba rekordow (chyba ze widok jest 1 tabela i wtedy mozesz triggera napisac z tymi wlasnie warunkami). Problem pojawi sie wtedy kiedy w kodzie php dokladasz dodatkowe warunki. Troche takie glupie rozwiazanie.
Go to the top of the page
+Quote Post
DeyV
post
Post #7





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Obawiam się, że w takim przypadku jedynym rozwiazaniem jest nałożenie na wszystkie "zainteresowane" tablele trigerów wyzwalajacych funkcję przeliczajacą odpowiednie widoki i zapisującą wyniki w sekwencjach / tabeli.

Jeśli updateów / deletów będzie znacznie mniej, niż selectów, to takie rozwiązanie powinno być najekonomiczniejsze.

ps. Sądzę, że praca na sekwencjach będzie szybsza, choć pewnie mniej wygodna.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


jestem troszke niezadowolony z tego obrotu spraw ... myslalem ze pg to bedzie 1 rzecz przed jaka zrobilem ;o od dawna... lekko trzeba sie nabiegac zeby cokolwiek osiagnac...
Go to the top of the page
+Quote Post
SongoQ
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


@ActivePlayer A ile rekordow przewidujesz w tabelach, bo jesli wartosci beda male to szkoda czasu na takie kombinowanie.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


przewiduje docelowo bardzo duzo (nie mam pojecia ile - raczek na tys na poczatek)(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a do tego z dnia na dzien więcej... mam pytanie jeszcze dot. wydajnosci... jak ma się skladanie widoku z joinami itd itp do wykonania zwyklego zapytania takiego jak 'zawartosc' tegoz widoku ?
Go to the top of the page
+Quote Post
SongoQ
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Widok to tak naprawde jest zapytanie wiec nie ma roznicy czy przesylasz zapytanie czy wywolujesz widok. Z tego co pamietam to w momencie wykonanie widoku optymalizator dolancza kryteria do widoku robi z tego najbardziej optymalna postac i wykonuje. Sensu stosowanie nie ma co pisac.
Odnosnie zlaczen to juz klania sie dostajanie zapytan. Ulozenie tabel, odpowiednia kolejnosc warunkow, explain, indeksy.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


no wlasnie... a najpierw trzeba miec o tym jakies(lepsze od wiedzy co to index) pojecie... no coz... manu is my friend... ten z pgsa mi jakos bardzo nie pasi... ale moze jakos przebrne...
Go to the top of the page
+Quote Post
SongoQ
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Polecam pomoc z PGAdmina3 i oczywiscie google, najlepiej newsy. Ale mam taka nadzije ze userow PG bedzie wiecej i na forum.php.pl co 2 post bedzie w tym temacie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


ta pomoc jest dlatego daremna, ze trzeba sie wczytac zeby wiedziec o czym piszą...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:28