sql >> データベース >  >> RDS >> Mysql

PDO fetchall()のパフォーマンスに関する考慮事項?

    仮に、1回の応答で100,000行すべてを出力する必要がある場合は、PDO::MYSQL_ATTR_USE_BUFFERED_QUERYを設定する必要があります。 falseに 、クエリを実行し、 fetch <を使用して、一度に1行ずつ結果セットを繰り返します。 / a> 。詳細を説明すると、PDO::MYSQL_ATTR_USE_BUFFERED_QUERYの場合、fetchAll()を呼び出すかどうかに関係なく、phpは結果セット全体をバッファリングします。 trueに設定されています。

    利点は、スクリプトの最大メモリ消費量を大幅に削減し、完了までの合計時間が長くなる場合とそうでない場合がありますが、出力のストリーミングをより早く開始できることです。

    出力バッファリングなど、このような極端な状況で考慮すべき他のことは無視しています...



    1. codeigniterを使用してデータベース内のアクティブなレコードを削除する方法

    2. 2017年4月1日から2日までオーストリアのウィーンで開催されたMicrosoftAccessDevCon

    3. MysqlのGroupByとOracleのGroupbyの動作が異なる理由

    4. MySqlDataReaderGetBytesバッファの問題...