Luneth
15.08.2010, 19:17:52
Ciekawi mnie ostatnio jedna rzecz: jeśli wyślę zapytanie:
SHOW TABLE STATUS LIKE `nazwa_tabeli`
To otrzymam tablicę zawierającą element 'rows' przechowujący liczbę rekordów, wartość ta jest jednak 100% prawdziwa jedynie dla tabel na silniku MyISAM. Czy ta dana jest jakoś cachowana, czy po prostu gdy wykonuję to zapytanie są wykonywane zapytania składowe, w tym COUNT(*) i tym samym wychodzi na to samo jak nie gorzej?
wookieb
15.08.2010, 19:25:27
"Cache-owana" w sensie MYISAM przechowuje dane statystyczne dla każdej swojej tabeli.
Luneth
15.08.2010, 20:09:36
I ta wartość nie jest zliczana przy każdym zapytaniu Show Table Status... ? Czyli zamiast przechowywać totalną liczbę rekordów np newsów dla potrzeb paginacji nie lepiej byłoby pobierać tę wartość i dzięki temu mieć za każdym żądaniem 100% pewną liczbę rekordów bez obciążania bazy danych?
wookieb
15.08.2010, 20:34:41
Nie jest ona przeliczana (tak ja wspominałem). Możesz pobierać całkowitą ilość rekordów w ten sposób dla paginacji aczkolwiek tylko takiej, która działa na całej tabeli (bez żadnych dodatkowych warunków), dlatego takie rozwiązanie uniwersalnym nie będzie, lecz nic nie stoi na przeszkodzie by je zrealizować.
Luneth
15.08.2010, 21:16:57
Dodatkowych warunków, jakie masz tutaj na myśli?
wookieb
15.08.2010, 21:17:56
Mówię o warunkach "WHERE", które ograniczą wyniki to mniejszej liczby rekordów niż w całej tabeli.
mrok
15.08.2010, 21:31:34
W przypadku Myisam bedzie ok tylko dlatego, ze ten typ nie wspiera transakcji.
Dla innodb nie będzie już tak prosto.
wookieb
15.08.2010, 21:33:11
Cytat(mrok @ 15.08.2010, 22:31:34 )

W przypadku Myisam bedzie ok tylko dlatego, ze ten typ nie wspiera transakcji.
Dla innodb nie będzie już tak prosto.
Niesamowite (czytaj pierwszy post), rozwiń nam jeszcze skrót MySql to błyśniesz jak Supernova.
Luneth
15.08.2010, 21:45:45
wookieweb - dzięki

mrok - mój 1 post.
mrok
15.08.2010, 22:00:21
Cytat
rozwiń nam jeszcze skrót MySql to błyśniesz jak Supernova
Ja juz błyszcze

W pierwszym poscie nie było jasno napisane dlaczego tak się dzieje. Ale skoro wszyscy wiedza to trochę się zbłaźniłem.
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.