Gonzo
17.07.2004, 14:34:56
Interesuje mnie zapytanie, które zwróciłoby mi liczbę wierszy tabeli lub jej wielkość. Chciałem zrobić coś takiego, ale zawsze, z niewiadomych przyczyn, zwraca tą samą liczbę.
SELECT id FROM napisy ORDER BY id DESC LIMT 1
kicaj
17.07.2004, 14:43:56
LIMIT 1 -> decyduje o liczbie wierszy, usun to...
Gonzo
17.07.2004, 15:33:25
Aha, dzięki. Myślałem, że LIMIT jedynie ogranicza liczbę wierszy w wyniku.
FiDO
17.07.2004, 23:32:49
Cytat(Gonzo @ 2004-07-17 16:33:25)
Aha, dzięki. Myślałem, że LIMIT jedynie ogranicza liczbę wierszy w wyniku.
Bo to wlasnie robi!
Jak chcesz liczbe wierszy to
SELECT COUNT(*) FROM tabela
Gonzo
17.07.2004, 23:42:36
Oooo, nareszcie ktoś obczaił. Odpisałem na tamten post, bo myślałem, że @kicaj_ wyprowadził mnie z błędu... Ale pomyślałem, że to w sumie nie ma sensu (bez obrazy dla kicaja oczywista).
Dzięki wielkie

.
kicaj
18.07.2004, 01:25:02
FiDO
18.07.2004, 01:58:56
Nie.. to nie jest dobre rozwiazanie, bo jest sporo wolniejsze, musisz pobrac wszystkie wiersze z bazy (wraz z ich iloscia rosnie roznica pomiedzy tymi dwoma sposobami) i dopiero potem php je zlicza wewnetrznie, a robiac to COUNT'em, obliczenie jest wykonywane na poziomie bazy bez pobierania jakichkolwiek danych, podejrzewam nawet, ze byc moze ilosc wierszy jest trzymana w pamieci i odpowiednio inkrementowana/dekrementowana przy insterach/delete'tach etc.
PS. topic leci na MySQL