日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql_unbuffered_query的_mysql_query与mysql_unbuffered_query的区别

發布時間:2025/1/21 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql_unbuffered_query的_mysql_query与mysql_unbuffered_query的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query --? 向 MySQL 發送一條 SQL 查詢,并不獲取和緩存結果的行

說明

resource mysql_unbuffered_query ( string query [, resource link_identifier] )

mysql_unbuffered_query() 向 MySQL 發送一條 SQL 查詢 query,但不像 mysql_query() 那樣自動獲取并緩存結果集。一方面,這在處理很大的結果集時會節省可觀的內存。另一方面,可以在獲取第一行后立即對結果集進行操作,而不用等到整個 SQL 語句都執行完畢。當使用多個數據庫連接時,必須指定可選參數 link_identifier。

注: mysql_unbuffered_query() 的好處是有代價的:在 mysql_unbuffered_query() 返回的結果集之上不能使用 mysql_num_rows() 和 mysql_data_seek()。此外在向 MySQL 發送一條新的 SQL 查詢之前,必須提取掉所有未緩存的 SQL 查詢所產生的結果行。

mysql_unbuffered_query:unbuffered顧名思義不緩存,意思就是查詢結果不緩存。而大多數人用的mysql_query查詢結果緩存。

mysql_unbuffered_query的好處:第一是節省內存,第二是它不用等數據獲取完全以后操作,直接可以獲取一條數據以后就可以操作。它的弊端是mysql_num_rows() 和 mysql_data_seek()對它無效,原因也在于它不緩存數據。下面是一個小例子:

$link = mysql_connect('localhost','root','root');

mysql_select_db('phpcms');

$sql = "SELECT * FROM `phpcms_content`";

//$result = mysql_unbuffered_query($sql,$link);

$result = mysql_query($sql,$link);

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {

printf ("ID: %s Name: %s", $row[0], $row[1]);

}

mysql_data_seek($result,0);

echo "
";

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {

printf ("ID: %s Name: %s", $row[0], $row[1]);

}

mysql_free_result($result);

?>

如果使用mysql_query,則將結果輸出兩次。若用mysql_unbuffered_query則只能輸出結果一次。

mysql_unbuffered_query查詢是一邊查詢一邊給出結果.

mysql_query是查詢完所有的在給出結果.

如同頁面緩存

自己選擇吧,不過速度要求不高的話,還是用mysql_query吧

總結

以上是生活随笔為你收集整理的mysql_unbuffered_query的_mysql_query与mysql_unbuffered_query的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。