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

PDO неуспешно с твърде много записи, буферирани заявки

Когато използвате небуферирана заявка, това означава, че вашият набор от резултати се предава поточно от MySQL сървъра. Така че връзката, на която се изпълнява (небуферираната) заявка, е заета, докато не прочетете последния ред на заявката. Във вашия случай връзката е $MysqlConn .

(Буферирана заявка вкарва целия набор от резултати в RAM на вашата php програма и освобождава връзката. Вие използвате небуферирани заявки, когато целият ви набор от резултати не се побира в RAM).

Небуферираните заявки трябва да се затварят изрично, когато приключите с тях. Така че добавете closeCursor() обаждане . Като това.

while ($row = $ordStat->fetch(PDO::FETCH_ASSOC)) {
    $order_ids[] = $row['order_id'];
}
$ordStat->closeCursor();

Няма нищо лошо и при затварянето на буферирани заявки. Това е добър навик.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да накарам MySQL да обработва UTF-8 правилно

  2. PyInstaller, файл със спецификации, ImportError:Няма модул с име 'blah'

  3. Какъв е най-добрият начин да използвате LEFT OUTER JOIN, за да проверите за несъществуване на свързани редове

  4. Как мога да присвоя стойност на променлива, използвайки агрегатна функция в mysql?

  5. Дизайн на база данни:какъв е смисълът от идентифицирането на външни ключове?