国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP使用PDO從mysql讀取大量數據處理詳解

2024-05-05 00:02:50
字體:
來源:轉載
供稿:網友

前言

本文主要介紹了關于PHP利用PDO從mysql讀取大量數據處理的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

環境

  • mysql: 5.6.34
  • php/160262.html">php: 5.6
  • nginx: php-fpm

適用場景

需要處理一定數據集業務

  • 從mysql讀取一定數據的業務導出
  • 一次需要處理一定的mysql業務操作更新刪除等
  • 更多需要處理一定數據集的操作

pdo 關鍵設置

$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();

生成器

生成器,迭代數據操作

本生成器可省略

嘗試代碼

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();

輸出

1... //省略部分id804288消耗內存:"0.34918212890625M處理數據行數:254062success

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 普兰店市| 焦作市| 开阳县| 泗洪县| 宁远县| 平邑县| 黑龙江省| 岑巩县| 积石山| 梅河口市| 扬州市| 三河市| 旅游| 洱源县| 红原县| 金乡县| 监利县| 望都县| 宽城| 新郑市| 荣昌县| 涟源市| 霍城县| 车险| 买车| 布拖县| 沂南县| 贵南县| 阜城县| 新源县| 通山县| 嘉荫县| 论坛| 唐河县| 辛集市| 武隆县| 武山县| 进贤县| 青阳县| 德清县| 棋牌|