![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Ostatnio dostalem list od admina home.pl, że bardzo obciążam ich serwer swoimi zapytaniami do bazy... Zaczelem opytmalizacje od skryptu dzielącego wyniki na strony.. Są tam dwa zapytania...
Istnieje możliwość zastapienia tych dwóch zapytań jednym? Istnieje możliwośc jedno czesnego wybrania ilości poprzez count i wyświetlenia wyników np LIMIT 1,10 ? Ewentualnie jak zrobić, żeby było to jak najbardziej wydajne..? zapisać w tablicy i wybrać za pomocą php potrzebne wyniki...? Ten post edytował kukix 27.03.2007, 21:23:34 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 1 Dołączył: 6.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak odczytywać zwróconą liczbę wierszy przeczytaj w manualu -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jak odczytywać zwróconą liczbę wierszy przeczytaj w manualu Dzieki.. to własnie o to chodziło... czyli ilość wierszy, która byłaby zwrócona bez wyrażenia LIMIT... Jednak po przeczytaniu informacji na temat SQL_CALC_FOUND_ROWS w manualu pod adresem (http://dev.mysql.com/doc/refman/5.1/en/inf...-functions.html) dalej nie jestem pewien jak wybrac otrzymaną liczbę. Znalazlem taki przykładowy kawałek:
Czy muszą być te dwa zapytania, żeby wybrac ilość SQL_CALC_FOUND_ROWS? I w jaki sposób wybrać zwróconą liczbe SQL_CALC_FOUND_ROWS ..? Poprzez SQL_CALC_FOUND_ROWS AS liczba ? Prosze o jakąś podpowiedź.. ------- EDIT ----------- Już mam.. żeby odczytac wartość trzeba dodać do tego wyżej jeszcze ten kawałek.
Jednak, czy polepszy to wydajnośc skryptu? W sumie, to dalej są dwa zapytania.. Ten post edytował kukix 28.03.2007, 12:36:47 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 1 Dołączył: 6.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jednak, czy polepszy to wydajnośc skryptu? W sumie, to dalej są dwa zapytania.. Zgadza się, ale w pierwszym zapytaniu, które podałeś było:
i z tego zapytania odczytywałeś liczbę wierszy, mimo że wszystkie dane z tabeli w rzeczywistości nie były potrzebne, chciałeś odczytać tylko liczbę wszystkich rekordów. Można było również zastosować zapytanie tylko o liczbę wierszy:
Zresztą MySQL jest zoptymalizowany do szybkiego zwracania wyników tego typu zapytań -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za naprowadzenie na rozwiązanie.
Zamieniłem dwa zapytania na dwa inne... Powinno być szybciej... bardziej wydajnie... lepiej... Dzięki ![]() Ten post edytował kukix 30.03.2007, 14:12:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:02 |