欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在php中使用mysql對buffer進(jìn)行操作-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)怎么在php中使用mysql對buffer進(jìn)行操作,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

為延長等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及延長網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都做網(wǎng)站、延長網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

什么叫使用buffer和不使用buffer呢?


客戶端與mysql服務(wù)端進(jìn)行查詢操作,查詢操作的時候如果獲取的數(shù)據(jù)量比較大,那個這個查詢結(jié)果放在哪里呢?

有兩個地方可以放:客戶端的緩沖區(qū)和服務(wù)端的緩沖區(qū)。

我們這里說的buffer指的是客戶端的緩沖區(qū),如果查詢結(jié)果已經(jīng)從服務(wù)端獲取回來了,放置在了客戶端的緩沖區(qū),我們就稱之為使用buffer。如果還是存放在服務(wù)端的緩沖區(qū)的話,我們就說沒有使用buffer(unbuffer)。

使用buffer和不使用buffer有什么區(qū)別?

主要在內(nèi)存方面,使用buffer會增加客戶端的內(nèi)存壓力,當(dāng)返回的數(shù)據(jù)結(jié)果特別大的時候可能會占用調(diào)用客戶端(實(shí)際就是一個php進(jìn)程)比較大的進(jìn)程。不使用buffer自然對服務(wù)端(這里說的是提供mysql服務(wù)的服務(wù)器)壓力更大。

具體可以參考:PHP查詢MySQL大量數(shù)據(jù)的內(nèi)存占用分析

php中三種模式是如何設(shè)置是否使用buffer的?

mysql默認(rèn)的query是使用buffer的,而不使用buffer就需要使用mysql_unbuffer_query

mysqli默認(rèn)的query是不使用buffer的,要使用buffer就需要設(shè)置MYSQLI_STORE_RESULT

pdo默認(rèn)的quey是不使用buffer的,要使用buffer就需要設(shè)置MYSQL_ATTR_USE_BUFFERED_QUERY

大致相關(guān)代碼如下:

<?php
$dbConfig = array(
  'host' => '10.128.11.101',
  'port' => '3306',
  'user' => 'test',
  'pass' => 'test',
  'db' => 'test',
);
$sql = 'select * from so_topic_app';
//---------mysql----------//
$db = mysql_connect($dbConfig['host'], $dbConfig['user'], $dbConfig['pass']);
mysql_select_db($dbConfig['db'], $db);
mysql_set_charset('utf8', $db);
// mysql使用buffer
$res = mysql_query($sql, $db);
$data = array();
while($row = mysql_fetch_row($res)) {
  $data[] = $row;
}
// mysql不使用buffer
$res = mysql_unbuffered_query($sql, $db);
$data = array();
while($row = mysql_fetch_row($res)) {
  $data[] = $row;
}
mysql_close($db);
//---------mysqli----------//
$db = mysqli_connect($dbConfig['host'], $dbConfig['user'], $dbConfig['pass'], $dbConfig['db']);
// mysqli不使用buffer
$result = mysqli_query($db, $sql);
$data = array();
while($row = $result->fetch_array()) {
  $data[] = $row;
}
// mysqli使用buffer
$result = mysqli_query($db, $sql, MYSQLI_STORE_RESULT);
$data = array();
while($row = $result->fetch_array()) {
  $data[] = $row;
}
mysqli_free_result($result);
mysqli_close($db);
//---------pdo----------//
$dsn = "mysql:dbname={$dbConfig['db']};host={$dbConfig['host']}";
$pdo = new PDO($dsn, $dbConfig['user'], $dbConfig['pass']);
// pdo不使用buffer
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data = array();
$data = $stmt->fetchAll();
// pdo使用buffer
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data = array();
$data = $stmt->fetchAll();

看完上述內(nèi)容,你們對怎么在php中使用mysql對buffer進(jìn)行操作有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

標(biāo)題名稱:怎么在php中使用mysql對buffer進(jìn)行操作-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://aaarwkj.com/article8/pipop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站導(dǎo)航、App開發(fā)、網(wǎng)站收錄網(wǎng)站維護(hù)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
日本免费一区二区三区手机在线| 亚洲国产日韩欧美视频二区| 日本一区二区欧美在线| 久久久久久亚洲av黄床| 国产日本韩国三级在线| 色婷婷精品一区二区三区| 国模在线视频一区二区| 久久精品国产亚洲av久| 久久国内午夜福利直播| 97国产精品亚洲精品| 五月婷久久精品国产亚洲av| 国产精品一级二区三区| 国产91一区二区三区在线精品 | 国产精品一区二区三区播放| 日韩有码在线中文字幕| 中文字幕日日夜夜av| 亚洲风情亚av在线播放| 免费成人激情在线电影| 亚洲av男人天堂一区| 91精品欧美综合在线| 日本在线一区二区视频麻豆| 国产精品_国产精品_k频道| 麻豆一精品传二传媒短视频| 精品国产一区亚洲二区| 欧美一日韩一级片免费看| 伊人久久精品一区二区| 天天操操操操操操夜夜爽| 国产精品果亚洲av无人区一区| 欧美亚洲另类在线日韩国产| 午夜剧场福利在线观看| 亚洲香蕉在线视频免费| 日本欧美中文字幕一区| 免费在线观看av日韩| 亚州国产成人综合精品| 国产一区二区三区av网站| 亚洲欧美国产日韩天堂区| 加勒比中文字幕日本道| 亚洲三级黄色在线观看| 日韩永久免费av网站| 国产在线精品不卡一区| 欧美欧美一区二区三区|