mysql 大數(shù)據(jù)量查詢

1 內存耗盡問題

Allowed memory size of xxx bytes exhausted

查詢大量數(shù)據(jù)的,如果出現(xiàn)如下情況,就說明最大內存已經(jīng)耗盡:

普通解決方案

可臨時修改腳本使用內存大小進行處理:

 ini_set ( 'memory_limit' , '2048M' );

2 內存到達瓶頸之后就需要考慮采用非緩沖模式了

緩沖模式

  • 默認情況下,查詢使用緩沖模式

  • 數(shù)據(jù)庫的查詢結果會從Mysql服務器傳輸?shù)絇HP,保存在進程內存中.而且結果集在沒有釋放之前需要相當多的內存來保存,空間換速度.

  • 緩沖模式由于整個結果集一次存儲,所以很方便的進行計數(shù),遍歷,指針移動等操作.

注意:
當使用libmysqlclient作為庫時肠骆,PHP的內存限制將不會計算用于結果集的內存,除非將數(shù)據(jù)讀入PHP變量。與mysqlnd的內存占用將包括完整的結果集蟹腾。

無緩沖模式

  • 無緩沖的MySQL查詢執(zhí)行查詢,同時數(shù)據(jù)等待從MySQL服務器進行獲取铺敌。
  • PHP端使用較少的內存,但增加服務器上的負載踢涌。

由于緩沖查詢是默認的黔龟,下面的示例將演示如何使用每個API執(zhí)行無緩沖的查詢历等。

無緩沖查詢示例: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;
   }
}
?>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末讨惩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寒屯,更是在濱河造成了極大的恐慌荐捻,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寡夹,死亡現(xiàn)場離奇詭異处面,居然都是意外死亡,警方通過查閱死者的電腦和手機菩掏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門鸳君,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人患蹂,你說我怎么就攤上這事或颊≡椅桑” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵囱挑,是天一觀的道長醉顽。 經(jīng)常有香客問我,道長平挑,這世上最難降的妖魔是什么游添? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮通熄,結果婚禮上唆涝,老公的妹妹穿的比我還像新娘。我一直安慰自己唇辨,他們只是感情好廊酣,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赏枚,像睡著了一般亡驰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饿幅,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天凡辱,我揣著相機與錄音,去河邊找鬼栗恩。 笑死透乾,一個胖子當著我的面吹牛,可吹牛的內容都是我干的磕秤。 我是一名探鬼主播乳乌,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼亲澡!你這毒婦竟也來了?” 一聲冷哼從身側響起纫版,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤床绪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后其弊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體癞己,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年梭伐,在試婚紗的時候發(fā)現(xiàn)自己被綠了痹雅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡糊识,死狀恐怖绩社,靈堂內的尸體忽然破棺而出摔蓝,到底是詐尸還是另有隱情,我是刑警寧澤愉耙,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布贮尉,位于F島的核電站,受9級特大地震影響朴沿,放射性物質發(fā)生泄漏猜谚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一赌渣、第九天 我趴在偏房一處隱蔽的房頂上張望魏铅。 院中可真熱鬧,春花似錦坚芜、人聲如沸览芳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽路操。三九已至,卻和暖如春千贯,著一層夾襖步出監(jiān)牢的瞬間屯仗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工搔谴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留魁袜,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓敦第,卻偏偏與公主長得像峰弹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芜果,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內容

  • 看了一些關于MySQL查詢的優(yōu)化方法鞠呈,發(fā)現(xiàn)MySQL的優(yōu)化最離不開的就是索引,還有其他優(yōu)化的小建議右钾。 查詢方法: ...
    鄭在學_blog閱讀 9,057評論 0 1
  • 如今隨著互聯(lián)網(wǎng)的發(fā)展蚁吝,數(shù)據(jù)的量級也是撐指數(shù)的增長,從GB到TB到PB舀射。對數(shù)據(jù)的各種操作也是愈加的困難窘茁,傳統(tǒng)的關系性...
    CaesarXia閱讀 11,848評論 1 30
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)脆烟,斷路器山林,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 寫在前面: 之所以有這種想法,是因為在網(wǎng)上看了一篇帖子砂蔽。具體內容記不清了洼怔,大意是說卸載微信之類的社交軟件之后,一個...
    江厘閱讀 896評論 10 8
  • 小時候我很叛逆左驾,也不知道為什么老哭镣隶,老氣人。媽媽也挺能發(fā)狠的诡右。都不知道被媽媽一只手拎著扔進村口那個廢棄的干涸了的大...
    稚童千陽閱讀 215評論 0 0