91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP查詢大量數據內存耗盡怎么辦

發布時間:2021-08-31 14:59:02 來源:億速云 閱讀:139 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關PHP查詢大量數據內存耗盡怎么辦的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

從數據庫查詢大量數據時會出現內容不夠的提示

PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted

這個問題在PHP的官方網站上叫緩沖查詢和非緩沖查詢(Buffered and Unbuffered queries)。PHP的查詢缺省模式是緩沖模式。也就是說,查詢數據結果會一次全部提取到內存里供PHP程序處理。這樣給了PHP程序額外的功能,比如說,計算行數,將指針指向某一行等。更重要的是程序可以對數據集反復進行二次查詢和過濾等操作。但這種緩沖查詢模式的缺陷就是消耗內存,也就是用空間換速度。

相對的,另外一種PHP查詢模式是非緩沖查詢,數據庫服務器會一條一條的返回數據,而不是一次全部返回,這樣的結果就是PHP程序消耗較少的內存,但卻增加了數據庫服務器的壓力,因為數據庫會一直等待PHP來取數據,一直到數據全部取完。

很顯然,緩沖查詢模式適用于小數據量查詢,而非緩沖查詢適應于大數據量查詢。

對于PHP的緩沖模式查詢大家都知道,下面列舉的例子是如何執行非緩沖查詢API。

 非緩沖查詢方法一: mysqli

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 
$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT); 
if ($uresult) { 
  while ($row = $uresult->fetch_assoc()) { 
    echo $row['Name'] . PHP_EOL; 
  } 
} 
$uresult->close(); 
?>

非緩沖查詢方法二: pdo_mysql

<?php 
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_pass'); 
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); 
$uresult = $pdo->query("SELECT Name FROM City"); 
if ($uresult) { 
  while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) { 
    echo $row['Name'] . PHP_EOL; 
  } 
} 
?>

非緩沖查詢方法三: mysql

<?php 
$conn = mysql_connect("localhost", "my_user", "my_pass"); 
$db  = mysql_select_db("world"); 
$uresult = mysql_unbuffered_query("SELECT Name FROM City"); 
if ($uresult) { 
  while ($row = mysql_fetch_assoc($uresult)) { 
    echo $row['Name'] . PHP_EOL; 
  } 
} 
?>

感謝各位的閱讀!關于“PHP查詢大量數據內存耗盡怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

綦江县| 什邡市| 永顺县| 桂平市| 常熟市| 准格尔旗| 平罗县| 墨竹工卡县| 卢氏县| 敦化市| 澳门| 富民县| 鹤壁市| 甘孜县| 彩票| 罗城| 宜兰市| 建瓯市| 岱山县| 年辖:市辖区| 宁安市| 海宁市| 如皋市| 稷山县| 达拉特旗| 晋城| 米脂县| 百色市| 原平市| 永靖县| 铜鼓县| 崇文区| 郴州市| 墨竹工卡县| 新郑市| 个旧市| 金寨县| 菏泽市| 宜章县| 江川县| 澄江县|