Zwracanie liczby wierszy w MySQL - SQL_CALC_FOUND_ROWS
SQL_CALC_FOUND_ROWS (parametr dostępny od wersji 4.0.0 MySQL-a) wymusza policzenie ilości wszystkich wierszy zapytania (lekceważąc ewentualną opcję LIMIT.
Liczba znalezionych wierszy może być później użyta do w funkcji SELECT FOUND_ROWS() i wykorzystana do yzyskania tych wierszy.
UWAGA: Ta Funkcja jest 40 krotnie mniej optymalna niż COUNT(*):
Listing 1.0 ukazuje porównanie SQL_CALC_FOUND_ROWS a COUNT(*)
Listing
--Listing 1.0
--Tabele posiadają dodana operację: ALTER TABLE users ADD INDEX IBirthDate (BirthDate)
--Kod SQL_CALC_FOUND_ROWS
SELECT SQL_CALC_FOUND_ROWS SQL_NO_CACHE * FROM uzytkownicy WHERE DataUrodzenia > '1984-01-01 00:00:00' ORDER BY DataUrodzenia LIMIT 100;
SELECT SQL_NO_CACHE FOUND_ROWS() AS ROWS;
--wynik: ~28s
--Kod COUNT(*)
SELECT SQL_NO_CACHE * FROM uzytkownicy WHERE DataUrodzenia > '1984-01-01 00:00:00' ORDER BY DataUrodzenia LIMIT 100;
SELECT SQL_NO_CACHE count(*) FROM uzytkownicy WHERE DataUrodzenia > '1984-01-01 00:00:00';
--wynik: ~0,7s
--Tabele posiadają dodana operację: ALTER TABLE users ADD INDEX IBirthDate (BirthDate)
--Kod SQL_CALC_FOUND_ROWS
SELECT SQL_CALC_FOUND_ROWS SQL_NO_CACHE * FROM uzytkownicy WHERE DataUrodzenia > '1984-01-01 00:00:00' ORDER BY DataUrodzenia LIMIT 100;
SELECT SQL_NO_CACHE FOUND_ROWS() AS ROWS;
--wynik: ~28s
--Kod COUNT(*)
SELECT SQL_NO_CACHE * FROM uzytkownicy WHERE DataUrodzenia > '1984-01-01 00:00:00' ORDER BY DataUrodzenia LIMIT 100;
SELECT SQL_NO_CACHE count(*) FROM uzytkownicy WHERE DataUrodzenia > '1984-01-01 00:00:00';
--wynik: ~0,7s
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno