Mysql 分頁查詢獲取總數SQL_CALC_FOUND_ROWS

一般mysql獲取查詢記錄總數咱們使用以下語句:php

$count = "SELECT COUNT(*) FROM users WHERE k=v";
$data = "SELECT id FROM goods WHERE k=v LIMIT 10";

可是記錄總數老是須要單獨的語句來查詢,例如在分頁查詢程序中就有這樣的問題,其實mysql能夠在一次查詢中獲取記錄和總數的,這就是要使用SQL_CALC_FOUND_ROWS參數,使用方法以下:mysql

$data = "SELECT SQL_CALC_FOUND_ROWS goods WHERE k=v LIMIT 10";
$count = "SELECT FOUND_ROWS()";
$total = $count['total'];

這雖然是兩個sql語句,可是確是查詢一次數據庫,效率明顯提升了一半!其中SQL_CALC_FOUND_ROWS 告訴Mysql將sql所處理的行數記錄下來,FOUND_ROWS() 則取到了這個紀錄。sql

相關文章
相關標籤/搜索