簡體   English   中英

mysql_num_rows()php - 它有效嗎?

[英]mysql_num_rows() php - is it efficient?

我在PHP頁面上有幾個SELECT語句,我使用Dreamweaver生成這些語句。

在完成它生成的代碼之后,在大多數情況下似乎有很多可以刪除的絨毛,每個語句的mysql_num_rows()行都是一個例子。

所以我想知道是否有人可以告訴我這是否實際上節省了資源 - 考慮到查詢是否正在運行,是否有任何實際開銷?


更新:在遵循Chriszuma關於microtime的建議之后,以下是我的結果:

//time before running the query
1: 0.46837500 1316102620

//time after the query ran
2: 0.53913800 1316102620

//time before calling mysql_num_rows()
3: 0.53914200 1316102620

//time after mysql_num_rows()
4: 0.53914500 1316102620 

所以似乎沒有多少開銷

mysql_num_rows()在獲取行對行進行計數。 這就像你獲取所有行並將它們存儲在PHP數組中,然后運行count($array) 但mysql_num_rows()是在MySQL客戶端庫中的C中實現的,因此它應該比同等的​​PHP代碼更有效。

請注意,為了使mysql_num_rows()起作用,您必須在PHP的內存空間中獲得查詢的完整結果。 因此,在查詢結果集可能很大的意義上存在開銷,並占用大量內存。

我希望這樣的調用對性能的影響極小。 它只是計算其內部存儲的查詢結果的行。 SQL查詢本身將占用絕大部分的處理時間。

如果您想確切知道,可以在調用之前和之后執行microtime() ,以確切了解它需要多長時間。

$startTime = microtime(true);
mysql_num_rows();
$time = microtime(true) - $startTime;
echo("mysql_num_rows() execution: $time seconds\n");

我懷疑你會在微秒范圍內看到一些東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM