Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie SELECT count(*) raz działa a raz nie
Forum PHP.pl > Forum > Przedszkole
Greg23
Zapytanie:

  1. $sql = "select link, count(*) from `tabela` group by link LIMIT 10";
  2. $ans = mysql_query($sql);
  3. while (list($tytul, $cnt) = mysql_fetch_array($ans)) { ... }


Takie zapytanie się wykonuje, jeśli zmienię LIMIT na 1000, zwykle też się wykonuje, jednak nie zawsze.
Jeśli limit ustawię na 100000 lub większy, to zapytanie nigdy się nie wykonuje - dostaję:
  1. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\httpd\sql.php on line 3


O co może tutaj chodzić ?
Zaznaczam, że nie mam ustawionego limitu czasu (set_time_limit(0)) a zapytanie z dużym limitem np LIMIT 1000000 w phpmyadmin wykonuje się za każdym razem.
PanGuzol
  1. $ans = mysql_query($sql) or die(mysql_error());
Greg23
Ciekawe, dostaje coś takiego:
  1. Error writing file '/dev/shm/MYbwU04g' (Errcode: 28)

Miejsce na dysku jest, więc dlaczego jest problem z zapisaniem większej ilości danych ?
IceManSpy
Pomijając Twoje błędy, to jaki ma sens robić count z limitem bez warunku?
Masz np tabelę 100 rekordów. Chcesz ja zliczyć z limitem 10 -> wniosek -> count = 10.

Przejrzyj te link:
http://www.arraystudio.com/as-workshop/mys...sing-limit.html
http://stackoverflow.com/questions/4068018...-in-mysql-query
http://www.mysqldiary.com/limited-select-count/
Greg23
Limit dodałem tylko aby zobrazować fakt, że przy niskich wartościach, wszystko działa.
Normalnie ma to działać na wszystkich rekordach bez żadnego LIMITu...
PanGuzol
Może i masz miejsce na dysku ale prawdopodobnie jest ograniczona ilość miejsca dla plików tymczasowych.
Masz ten błąd u siebie na komputerze czy na hostingu?

@IceManSpy w jego zapytaniu jest również 'GROUP BY' więc będzie miał więcej niż jeden rekord
Greg23
Hosting (vps).

vxc:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/simfs 250G 101G 150G 41% /
tmpfs 1.5G 0 1.5G 0% /lib/init/rw
tmpfs 1.5G 123M 1.4G 8% /dev/shm

Na tym dysku mam 1,4GB całkowitej powierzchni. Chyba trochę mało.
Jak mogę to zwiększyć ?
PanGuzol
Obawiam się, że możesz nie mieć takiej możliwości.
Najlepiej zapytaj dział techniczny firmy hostingowej.
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.