Mysql
 sql >> база данни >  >> RDS >> Mysql

Съображения за производителност на PDO fetchall()?

Хипотетично, ако трябва да изведете всички 100 000 реда в един отговор, трябва да зададете PDO::MYSQL_ATTR_USE_BUFFERED_QUERY до false , изпълнете заявката и повторете набора от резултати един ред по ред, като използвате fetch . За по-подробно, php буферира целия набор от резултати, независимо дали извиквате fetchAll() if PDO::MYSQL_ATTR_USE_BUFFERED_QUERY е зададено на true.

Предимството е, че драстично намалявате максималната консумация на памет на скрипта и можете да започнете поточно предаване по-рано, въпреки че общото време за завършване може да отнеме или не може да отнеме повече време.

Пренебрегвам други неща, които трябва да имате предвид при такива екстремни обстоятелства, като буфериране на изход и т.н....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Превключване на PostgreSQL база данни или схема в DataGrip JetBrains

  2. NodeJS отговори, че часовата зона на MySQL е различна, когато извличам директно от MySQL

  3. Вмъкнете и актуализирайте данните от CSV файл в MySQL таблицата с помощта на PHP

  4. Дата между 2 други дати, без да се взема предвид годината

  5. Изберете всички записи от една таблица, които не съществуват в друга таблица в Laravel 5.1