![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Ciekawi mnie ostatnio jedna rzecz: jeśli wyślę zapytanie:
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? Ten post edytował Luneth 15.08.2010, 19:18:27 -------------------- "It's always darkest before the dawn." |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
"Cache-owana" w sensie MYISAM przechowuje dane statystyczne dla każdej swojej tabeli.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
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?
-------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
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ć.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Dodatkowych warunków, jakie masz tutaj na myśli?
-------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Mówię o warunkach "WHERE", które ograniczą wyniki to mniejszej liczby rekordów niż w całej tabeli.
Ten post edytował wookieb 15.08.2010, 21:18:26 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 258 Pomógł: 17 Dołączył: 22.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
W przypadku Myisam bedzie ok tylko dlatego, ze ten typ nie wspiera transakcji.
Dla innodb nie będzie już tak prosto. -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
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. Ten post edytował wookieb 15.08.2010, 21:33:45 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
wookieweb - dzięki
![]() mrok - mój 1 post. -------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 258 Pomógł: 17 Dołączył: 22.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:48 |