Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Schritte für PHP, PDO zum Betreiben von MySQL zum Lesen von Daten zu verwenden
Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Schritte zum Betreiben von MySQL zum Lesen von Daten geben. Was sind die Vorsichtsmaßnahmen für die Verwendung von PHP zum Betreiben von MySQL zum Lesen von Daten? Fall, werfen wir einen Blick darauf.
Vorwort
In diesem Artikel werden hauptsächlich relevante Inhalte über PHP vorgestellt, das PDO verwendet, um große Datenmengen aus MySQL zu lesen und für Sie freizugeben Referenz und Studium, im Folgenden gibt es nicht viel zu sagen, werfen wir einen Blick auf die ausführliche Einführung.
Umgebung
MySQL: 5.6.34
php: 5.6
nginx: php-fpm
Anwendbare Szenarien
Bestimmte Geschäftsdatensätze müssen verarbeitet werden
Geschäftsexport zum Lesen bestimmter Daten aus MySQL
Bestimmte MySQL-Geschäftsvorgänge müssen verarbeitet werden, aktualisieren, löschen, usw. auf einmal
Mehr Vorgänge, die bestimmte Datensätze verarbeiten müssen
PDO-Schlüsseleinstellungen
$dbh = new \PDO($dsn, $user, $pass); # 关键设置,如果不设置,php依旧会从pdo一次取出数据到php $dbh->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); //perpare里的游标属性不是必须的 $sth = $dbh->prepare("SELECT * FROM `order`", array(\PDO::ATTR_CURSOR => \PDO::CURSOR_SCROLL)); $sth->execute();
Generieren
Generator, iterative Datenoperation
Dieser Generator kann weggelassen werden
Probieren Sie den Code aus
class Test { public function test() { set_time_limit(0); $dbms='mysql'; //数据库类型 $host=C('DB_HOST'); //数据库主机名 $dbName=C('DB_NAME'); //使用的数据库 $user=C('DB_USER'); //数据库连接用户名 $pass=C('DB_PWD'); //对应的密码 $dsn="$dbms:host=$host;dbname=$dbName"; $dbh = new \PDO($dsn, $user, $pass); $dbh->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); $sth = $dbh->prepare("SELECT * FROM `order`"); $sth->execute(); $i = 0; $newLine = PHP_SAPI == 'cli' ? "\n" : '<br />'; foreach ($this->cursor($sth) as $row) { // var_dump($row); echo $row['id'] . $newLine; $i++; } echo "消耗内存:" . (memory_get_usage() / 1024 / 1024) . "M" . $newLine; echo "处理数据行数:" . $i . $newLine; echo "success"; } public function cursor($sth) { while($row = $sth->fetch(\PDO::FETCH_ASSOC)) { yield $row; } } } $test = new Test(); $test->test();
Ausgabe
1 ... //省略部分id 804288 消耗内存:"0.34918212890625M 处理数据行数:254062 success
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben, achten Sie bitte auf andere Verwandte Artikel auf der chinesischen PHP-Website!
Empfohlene Lektüre:
ThinkPHP-Verbindungsdatenbank-Betriebsfallanalyse
Detaillierte Erläuterung der Schritte zur Installation der Yaf-Erweiterung PHP7.1
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte für PHP, PDO zum Betreiben von MySQL zum Lesen von Daten zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!