PDA

View Full Version : So sánh 2 câu lệnh MySQL



langtusitinh225
02-03-2010, 17:13
$sql = "select field from table where field = ...";
$result = mysql_query($sql);
echo mysql_num_rows($result);




$sql = "select count(field) as X from table where feild = ...";
$result = mysql_query($sql);
while ($num = mysql_fetch_array($result))
{
echo $num['X'];
}


Cho em hỏi là dùng cái nào tốt hơn, ưu nhược điểm hay 2 cái như nhau
Cám ơn

Shellingfox
02-03-2010, 17:32
Đo thử là biết liền mà.

Cách 2 nhanh hơn. Nhanh hơn nữa nếu bạn xài kiểu này:


$sql = "select count(field) as X from table where feild = ...";
$result = mysql_query($sql);
$num = mysql_fetch_row($result);
echo $num[0];

khonggiannet
02-03-2010, 17:42
Cái thứ nhất, MySQL sẽ load toàn bộ dữ liệu ra "field" đã có trước khi trả giá trị về cho php, do đó sẽ tốn thời gian và bộ nhớ hơn cách thứ 2, đặt biết thấy rõ khi table có hàng trăm ngàn record trở lên.