Loading:


    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(*)

     




    Napisz Artyku³

    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




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors