PHP funkcja mysql_unbuffered_query()
definicja i użycie
mysql_unbuffered_query() funkcja wysyła do MySQL zapytanie SQL (bez pobierania / buforowania wyników).
syntaktyka
mysql_unbuffered_query(zapytanie,połączenie)
parametry | opis |
---|---|
zapytanie | wymagane. Określa zapytanie SQL do wysłania. Uwaga: ciąg zapytania nie powinien kończyć się średnikiem. |
połączenie | opcjonalnie. Określa identyfikator połączenia SQL. Jeśli nie określono, używa poprzedniego otwartego połączenia. |
opis
mysql_unbuffered_query() wysyła do MySQL zapytanie SQL query, ale w przeciwieństwie do mysql_query() tak automatycznie uzyskać i zastrzec wyniki zestawu. Z jednej strony, to oszczędza znaczne ilości pamięci przy przetwarzaniu dużych zestawów wyników. Z drugiej strony, można natychmiast operować na zestawie wyników po uzyskaniu pierwszego wiersza, bez czekania na zakończenie całego zapytania SQL.
Kiedy używasz wielu połączeń do bazy danych, musisz指定opcjonalne parametry połączenie。
Wskazówki i komentarze
Komentarz:Koszty funkcji mysql_unbuffered_query() są takie: nie można używać mysql_num_rows() i mysql_data_seek()Ponadto przed wysłaniem nowego zapytania SQL do MySQL, musisz pobrać wszystkie wyniki wierszy generowane przez wszystkie niezakcacheowane zapytania SQL.
Przykład
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die('Nie można połączyć: ' . mysql_error()); } // Duże zapytanie $sql = "SELECT * FROM Person"; mysql_unbuffered_query($sql,$con); // Rozpoczęcie przetwarzania danych... mysql_close($con); ?>