国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 晋城| 宜兰县| 保康县| 玉溪市| 溧水县| 油尖旺区| 壤塘县| 疏勒县| 大安市| 遵义县| 巴彦淖尔市| 普洱| 柏乡县| 桐乡市| 兴山县| 铜鼓县| 蓬莱市| 蒙阴县| 东阳市| 靖宇县| 宜城市| 河津市| 河北区| 营山县| 平阳县| 综艺| 洛宁县| 汽车| 吉林市| 吉林市| 南平市| 德昌县| 西宁市| 北票市| 滨海县| 松阳县| 安泽县| 开平市| 湖南省| 绍兴县| 武鸣县|