2013年10月18日 星期五

[mysql]SQL_CALC_FOUND_ROWS 使用

我們一般用COUNT() 或者mysql_num_rows() 來獲取查詢的行數;在MySQL4,5裡面,有SQL_CALC_FOUND_ROWS 可以在查詢的同時,計算行數:$query = "SELECT SQL_CALC_FOUND_ROWS * FROM title WHERE ID >1000 LIMIT 10;";$result = $db->query($query);$line = $db->fetch_row($db->query("SELECT FOUND_ROWS();"));print_r($line);此時,不用額外的查詢,即可得到SELECT count(id) FROM tabled WHERE id>1000;這樣子的結果了。不過,http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#limit-optimization 說:只要MySQL已經發送了需要的行數到客戶,它將放棄查詢,除非你正使用

沒有留言:

張貼留言

Google Analytics初學者入門簡介