Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie ilosci z limitem
Forum PHP.pl > Forum > Bazy danych > MySQL
Black-Berry
Witam,
mam problem z zapytaniem. Mam tabele imiona a w niej liste imion

ALA
OLA
KASIA
ASIA
EWELINA
IZA

Imion jest 6. I teraz chcę w jednym zapytaniu miec pierwsze 2 imiona i ilość wszystkich imion na wyjściu
  1. SELECT imiona, count(imiona) FROM tabela LIMIT 0,2

nie zdaje egzaminu

Hint: Chodzi mi o zrobienie pagera jednym zapytaniem.
phpion
Obawiam się, że w ten sposób tego nie ugryziesz. Możesz zrobić to z podzapytaniem:
  1. SELECT imiona, (SELECT COUNT(imiona) FROM tabela) AS ile FROM tabela LIMIT 0,2

ale nie wiem czy warto. Nie zawsze więcej zapytań oznacza mniejszą wydajność.
Black-Berry
No tak. Teraz jest jedno podzapytanie ale do konca nie jestem pewien czy nie wykona się dokładnie tyle razy ile wynosi LIMIT. Chyba jednak będę musiał zostać przy 2 zapytaniach w przypadku pagera.

Był kiedyś taki wątek na forum. Ktoś robił testy z których wynikało że ilość zapytań o wiele bardziej wpływa na spadek wydajnosci niż ich jakość bo największym problemem jest czas oczekiwania na połączenie z bazą.
nospor
do pagera uzywa sie dwoch zapytan. mozna to zrobic na dwa sposoby:

1)
jedno zapytanie wylicza liczbe rekordow
drugie zapytanie pobiera z limitem

2)
jedno zapytanie pobierające z limitem i nakazujące policzyc liczbe wszystkich rekordow
drugie zapytanie pobierajace wynik policzenia powyzej. Tu masz link:
http://dev.mysql.com/doc/refman/5.0/en/inf...tion_found-rows

Drugi sposob jest szybszy niz pierwszy.

Cytat
Był kiedyś taki wątek na forum. Ktoś robił testy z których wynikało że ilość zapytań o wiele bardziej wpływa na spadek wydajnosci niż ich jakość bo największym problemem jest czas oczekiwania na połączenie z bazą.

Jakies lewe te testy.
Oczywiscie, zasada ogolna jest taka: im mniej zapytan tym lepiej, ale nie za kazdą cene. Czasami jedno zapytanie moze byc o wiele gorsze, niz 3 inne pod rzad
Black-Berry
Dzieki nospor O takich tajnych metodach to mi się jeszcze nie śniło smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.