Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uwagi dotyczące wydajności PDO fetchall()?

Hipotetycznie, jeśli chcesz wyprowadzić wszystkie 100 000 wierszy w jednej odpowiedzi, powinieneś ustawić PDO::MYSQL_ATTR_USE_BUFFERED_QUERY na false , wykonaj zapytanie i powtórz zestaw wyników po jednym wierszu na raz, używając pobierz . Aby rozwinąć, php buforuje cały zestaw wyników niezależnie od tego, czy wywołasz fetchAll(), jeśli PDO::MYSQL_ATTR_USE_BUFFERED_QUERY ma wartość prawda.

Zaletą jest to, że drastycznie zmniejszasz maksymalne zużycie pamięci przez skrypt i możesz szybciej rozpocząć przesyłanie strumieniowe, chociaż całkowity czas do zakończenia może potrwać dłużej lub nie.

Ignoruję inne rzeczy, które należy wziąć pod uwagę w tak ekstremalnych okolicznościach, takie jak buforowanie wyjścia itp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę przekazać hasło ze skryptu bash do aptitude w celu zainstalowania mysql?

  2. Co się dzieje z ciągiem pasującym do pola liczb całkowitych MySQL?

  3. Błąd MYSQL:Kod błędu:2006 - Serwer MySQL zniknął

  4. Jak przekonwertować bool na int w MySql

  5. Łączenie się ze zdalnym serwerem MySQL za pomocą PHP