MYSQL中统计查询结果总行数的便捷方法省去count(*)

 更新时间:2013年07月29日 18:11:51   作者:  
查看手册后发现SQL_CALC_FOUND_ROWS关键词的作用是在查询时统计满足过滤条件后的结果的总数(不受 Limit 的限制)具体使用如下,感兴趣的朋友可以学习下
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;
}

相关文章

  • 监听mysql表内容变化 mysql开启binlog

    监听mysql表内容变化 mysql开启binlog

    这篇文章主要给大家介绍了关于监听mysql表内容变化,mysql开启binlog的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • 超出MySQL最大连接数问题及解决

    超出MySQL最大连接数问题及解决

    这篇文章主要介绍了超出MySQL最大连接数问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Mysql带And关键字的多条件查询语句

    Mysql带And关键字的多条件查询语句

    MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两个或者多个查询条件,只有满足所有条件的记录,才会被返回
    2017-07-07
  • MySQL主从复制与读写分离原理及用法详解

    MySQL主从复制与读写分离原理及用法详解

    这篇文章主要介绍了MySQL主从复制与读写分离原理及用法,结合实例形式详细分析了mysql数据库主从复制、读写分离基本概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-01-01
  • MySQL中find_in_set()函数用法示例详解

    MySQL中find_in_set()函数用法示例详解

    find_in_set这个是mysql的一个函数,见得比较少,下面这篇文章主要给大家介绍了关于MySQL中find_in_set()函数用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  •  SQL 中 CASE 表达式的使用方式

     SQL 中 CASE 表达式的使用方式

    这篇文章主要介绍了 SQL 中 CASE 表达式的使用方式,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 带你学习MySQL执行计划

    带你学习MySQL执行计划

    前面文章,我们学习了 MySQL 慢日志相关内容,当我们筛选得到具体的慢 SQL 后,就要想办法去优化啦。优化 SQL 的第一步应该是读懂 SQL 的执行计划。本篇文章,我们一起来学习下 MySQL explain 执行计划相关知识。
    2021-05-05
  • 麒麟系统上安装 MySQL 8.0.24的详细步骤(避坑指南)

    麒麟系统上安装 MySQL 8.0.24的详细步骤(避坑指南)

    这篇文章主要介绍了麒麟系统上安装MySQL8.0.24的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)

    解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)

    本篇文章是对mysql数据库还原错误:(mysql Error Code: 1005 errno 121)的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 解读数据库的嵌套查询的性能问题

    解读数据库的嵌套查询的性能问题

    这篇文章主要介绍了解读数据库的嵌套查询的性能问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论