
Wersja pierwsza:
SELECT SQL_CALC_FOUND_ROWS * FROM messages WHERE unread='F' AND owner=$id LIMIT 10 SELECT FOUND_ROWS()
Wersja druga:
<?php ?>
Na mój rozum przy FOUND_ROWS() mysql bierze na siebie zliczenie wybranych rekordow, natomiast w przypadku mysql_num_rows() php licza otrzymaną liczbę wierszy (raczej będzie to robiło wolniej niż mysql, ale czy na pewno?). Za moim rozumowaniem wydaje się stać fakt, że przy pobieraniu danych z mysql'a za pomocą mysql_unbufered_query() mysql_num_rows() podaje błędny wynik (wg manuala). Czy ktoś może potwierdzić moje domysły? Może ktoś zna jakieś artykuły o zaawansowanej optymalizacji zapytań mysql czy kodu php? Mile widziane jakieś ciekawe źródła wiedzy, których nie znam. Cora ciężej jest znaleźć coś nowego, a nadal sporo rzeczy pozostaje nieodkrytych (o referencji w foreach nawet manual nic nie mowi...)