国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MYSQL中統計查詢結果總行數的便捷方法省去count(*)

2020-01-18 23:32:55
字體:
來源:轉載
供稿:網友
MYSQL的關鍵詞 :
SQL_CALC_FOUND_ROWS
查看手冊后發現此關鍵詞的作用是在查詢時統計滿足過濾條件后的結果的總數(不受 Limit 的限制)

例如:
復制代碼 代碼如下:

SELECT SQL_CALC_FOUND_ROWS tid FROM cdb_threads WHERE fid=14 LIMIT 1,10;

假設滿足條件的有1000條,這里返回10條。
立即使用
復制代碼 代碼如下:

SELECT found_rows() AS rowcount;

則返回的 rowcount 為1000;
這樣節省了SELECT count(*) AS rowcount的重復查詢,可以節省比較可觀的時間。

以下是該放在在游味中的應用:
復制代碼 代碼如下:

function mail_list_sent( $uid, $start ) {
// 注意SQL_CALC_FOUND_ROWS uid之間沒有逗號
$query = "SELECT SQL_CALC_FOUND_ROWS uid, real_name, current_city, msg_uid, sender_flag, ".
"msg_title, msg_content FROM " . TT_DBTABLEPRE . "mailbox as mb1, " . TT_DBTABLEPRE .
"user as usr1 WHERE mb1.sender_id=usr1.uid AND mb1.sender_id=$uid AND sender_flag > 0 LIMIT $start, " . TT_PAGESIZE;
$mails = $this->db->fetch_all( $query );
//查詢SELECT中滿足條件的行數,與LIMIT子句無關
$max_count = $this->db->fetch_first( "SELECT found_rows() AS rowcount" );
$tmp['state_code'] = 200;
$tmp['info'] = "OK";
$tmp['list'] = $mails;
$data = json_encode( $tmp );
return $data;
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁城县| 阿坝| 东乡| 于都县| 金山区| 盖州市| 宜兰县| 仁布县| 白沙| 平潭县| 碌曲县| 杨浦区| 应城市| 永登县| 鹿泉市| 崇义县| 即墨市| 安吉县| 峨山| 五华县| 喀喇沁旗| 盘山县| 缙云县| 河池市| 鄂托克旗| 信丰县| 岳阳市| 本溪| 三明市| 刚察县| 印江| 贞丰县| 仁怀市| 福贡县| 红原县| 溧阳市| 雷波县| 八宿县| 银川市| 周至县| 平塘县|