Mysql必读MYSQL中统计查询结果总行数的便捷方法省去count(*)
发布时间:2020-12-12 02:56:38 所属栏目:MySql教程 来源:网络整理
导读:《Mysql必读MYSQL中统计查询结果总行数的便捷方法省去count(*)》要点: 本文介绍了Mysql必读MYSQL中统计查询结果总行数的便捷方法省去count(*),希望对您有用。如果有疑问,可以联系我们。 MYSQL的关键词 : SQL_CALC_FOUND_ROWS 查看手册后发现此关键词的作
《Mysql必读MYSQL中统计查询结果总行数的便捷方法省去count(*)》要点: 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; } 编程之家PHP培训学院每天发布《Mysql必读MYSQL中统计查询结果总行数的便捷方法省去count(*)》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在MySQL中修复“太多打开的文件”?
- php – 我可以做些什么来在WordPress中获取实际准备好的语
- Mysql应用在Mysql上创建数据表实例代码
- 使用IP登录MySQL数据库Can't connect to MySQL server的
- Mysql应用安装mysql5.7报错ERROR 2003 (HY000): Can't
- Mysql实例老生常谈MYSQL模式匹配 REGEXP和like的用法
- 推荐的用于修改MySQL数据库的语言
- php – 无法使用函数返回值
- 关于重复密钥更新子查询的Mysql
- MYSQL数据库MySQL利用procedure analyse()函数优化表结构