Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: znikające rekordy
Forum PHP.pl > Forum > Bazy danych > MySQL
mihmih
Witam,

czy to możliwe że ta liczba mi spada mimo że rekordy nie są usuwane? Co jakiś czas sprawdzam tą wartość i zauważyłem że już drugi raz spadła o kilkaset sztuk. A jeśli coś usuwam z bazy to są to pojedyncze rekordy. Coś mi tu nie pasuje....



  1. SELECT SUM(TABLE_ROWS) ile
  2. FROM INFORMATION_SCHEMA.TABLES
  3. WHERE TABLE_SCHEMA = 'blablabla'
trueblue
Dla InnoDB to wartość szacunkowa.
mihmih
A co to jest InnoDB? smile.gif

To bardzo dziwne że coś jest szacunkowe w przypadku gdy mówimy o narzędzu do obliczaniu wartości z tabel i taki właśnie tutaj mamy przypadek. Tymbardziej że ta wartość to około 80 tysięcy u mnie, a gdy doodam np. 12 rekordów to ilość się zwiększa o 12. Tylko jakby co jakiś czas wartość o dość dużo spadała.

Czyli mogę wykluczyć że przez jakieś problemy na serwerze, błędy, itp rekordy są usuwane?
trueblue
https://www.google.com/search?q=innodb+myisam

Dlaczego nie używasz do tego po prostu COUNT() dla tabeli?
mihmih
Chciałem to sobie po prostu wstawić jako ciekawostkę/statystykę dla bazy. Ilość wszystkich rekordów. Nie potrzebuję tego do żadnych obliczeń. Ale po prostu zaniepokoiło mnie gdy ta liczba zaczęła co jakiś czas maleć bez powodu.

COUNT mogę zrobić dla wybranej tabeli, a mnie interesuje ilość wszystkich rekordów jako ciekawostka.

Zamieniłem SUM z mojego zapytania na COUNT i otrzymałem liczbę 113. Co ona oznacza? Bo nie jest to ilość tabel (162 w moim przypadku)?
viking
Przed zapytaniem:
OPTIMIZE TABLE tbl;
albo
ANALYZE TABLE tbl;
mihmih
To samo teraz znalazłem, silnik liczy niedokładnie tą ilość. Dziwne smile.gif. No ok, szacunkowa wartość też jest ok, skoro to tylko ciekawostka. Dzięki za wyjaśnienie.
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.