ในการ query เอาจำนวนแถวของข้อมูล จาก mysql standard functions เท่าที่ผมทราบ จะมีวิธีการอยู่ 2 ลักษณะ ด้วยกัน ได้แก่

วิธีที่ 1: SELECT *

<?php
 ... // some code
 $sql = "SELECT * FROM $myVeryBigTable WHERE $myCondition ";
 $rs = mysql_query($sql) or die("Some error occurred with DB: "
   . mysql_error());
 $numRows = mysql_num_rows($rs);
 ... // some code
?>

 

วิธีที่ 2: SELECT COUNT(*) AS numRows

<?php
 ... // some code<br />
 $sql = "SELECT COUNT(*) AS numRows FROM $myVeryBigTable "
   . "WHERE $myCondition ";
 $rs = mysql_query($sql) or die("Some error occurred with DB: "
   . mysql_error());
 $row = mysql_fetch_array($rs);
 $numRows = $row['numRows'];
 ... // some code
?>

ทั้งสองวิธีไม่ได้ยุ่งยากอะไร และทำงานได้เหมือนๆ กัน แต่ลึกๆ แล้ว วิธีไหนมีประสิทธิภาพมากกว่ากัน กันแน่??? มีใครเคยทำวิจัย หรือ อ่านมามั้ยครับ??