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的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5新建没有头文件_IAR新建工程
- 下一篇: 手机端展现table_百度信息流广告外包