Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Efektywne liczenie i stronicownie rekordow
wermon
post 2.09.2008, 15:25:47
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 2.12.2003

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


Sytuacja wygląda następująco:

Jest tabela zawierajaca kilkadziesiat tysiecy rekordow
Przeszukiwanie odbywa się po zaindeksowanych "krótkich" TINYINT(2) kolumnach.
Sortowanie odbywa sie po kolumnie 10-cioznakowej

Zapytanie bedzie wybierało (SELECT) "długie" dane opisowe.

Czy z punktu widzenia wydajnosci bardziej oplaca sie:

1. wykonać zapytanie bez LIMIT'u, z sortowaniem, policzyć ilość wyników, a następnie LIMIT osiągnąć poprzez php

2. wykonać zapytanie dodając LIMIT i sortowanie, a następnie wykonac drugie zapytanie tylko w celu policzenia wszystkich znalezionych rekordow (bez sortowania i SELECT'owania "długich" kolumn)
Go to the top of the page
+Quote Post
nospor
post 2.09.2008, 15:29:13
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




najpierw pobierasz ile masz rekordow:
  1. SELECT count(*) FROM tabela
To ci zwroci liczbe rekordow.

A potem sobie robisz zapytanie z limitem.

ps:Mozna tez przy limit okreslic ile jest wszystkich rekordow, ale i tak trzeba przy tym wykonac drugie zapytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wermon
post 3.09.2008, 08:45:01
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 2.12.2003

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


ok, dzieki
Go to the top of the page
+Quote Post
osiris
post 3.09.2008, 19:41:15
Post #4





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

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


Poczytaj o SQL_CALC_FOUND_ROWS
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:22