MySQL高效获取记录总数

通常mysql获取查询记录总数我们使用如下语句:

SELECT COUNT(*) FROM users WHERE k=‘avs‘;  或:SELECT id FROM goods WHERE k=‘avs‘ LIMIT 10;

但是记录总数总是需要单独的语句来查询,例如在分页查询程序中就有这样的问题,其实mysql可以在一次查询中获取记录和总数的,这就是要使用SQL_CALC_FOUND_ROWS参数,使用方法如下:

SELECT SQL_CALC_FOUND_ROWS goods WHERE k=‘avs‘ LIMIT 10; SELECT FOUND_ROWS();

这虽然是两个sql语句,但是确是查询一次数据库,效率明显提高了一半!其中SQL_CALC_FOUND_ROWS 告诉Mysql将sql所处理的行数记录下来,FOUND_ROWS() 则取到了这个纪录。

时间: 2024-08-01 22:43:31

MySQL高效获取记录总数的相关文章

mysql高效获取两张表共同字段的交集数据

问题: 例如下面两站表A,B.A表和B表分别有5-10w数据.A表结构如下:id bid name title publisher extraB表结构如下id bid name title publisher A出版社也为很多人出版了书籍,B出版社也为很多人出版了书籍,有sql语句找出这两个出版社为那些人 共同出版书籍,用innerjoin太慢,有没有什么更好的办法? 解答一: 由于不知道你表的索引情况,至于用join还是in和exists不太好说,理论上讲,exists最快.in次之.join

ObjectStore onFetch方法获取记录总数

转自:http://blog.csdn.net/earthhour/article/details/38686029 ObjectStore onFetch方法获取记录总数 require(['dojo/when']); var json = new JsonRest({target: url}); store = new ObjectStore({objectStore: json}); store.onFetch = function(results){ // 方法一: results.th

PHP MYSQL 获取记录总数

$qid = mysql_query("SELECT count(aid) as total FROM table group by aid ");//你的查询 $res = mysql_fetch_array($qid); $count = $res['total']; //取出统计值 如果你不想加as total,那么$count = $res[0];

Mysql 高效随机生成N条记录

1 select *, rand() as random FROM yef_exercises where id not in(1) order by random limit 1 // Mysql Mysql 高效随机生成N条记录,布布扣,bubuko.com

分页总数计算,根据总记录数获取分页总数_目标科技

分页总数计算,根据总记录数获取分页总数,本文章提供5种写法,大家感觉哪个好用就拿去用吧. int pageSize = 20; //每页记录数量 int totalCount = 100005; //总记录数 int pageCount; //总页数 //方法一: pageCount = (totalCount + pageSize - 1) / pageSize; //推荐写法 //方法二: pageCount = (totalCount - 1) / pageSize + 1; //方法三:

php高效获取数据分页

mysql.php 获取数据库中的记录,完全个人经验总结,仅供参考! <?php /** *PHP+MYSQL数据库基本功能 *http://blog.csdn.net/yown */ ############################################ #获取序列ID ############################################ function getSequence() { $sql = "update sequence set id=

MySQL索引类型一览 让MySQL高效运行起来(转)

转自:http://www.php100.com/html/webkaifa/database/Mysql/2010/0409/4279.html 索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NUL

Oracle随机获取记录

1 SELECT A.* FROM TableA A CROSS JOIN (SELECT TRUNC(DBMS_RANDOM.VALUE(0, 999999999999999999999)) RANDOMNUM FROM DUAL) B ORDER BY B.RANDOMNUM Oracle随机获取记录,布布扣,bubuko.com

MySQL数据库获取多个汉字拼音的首字母函数

需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组中每个汉字的拼音首字母就可以实现了,如果是固定的几组汉字,人为的拼一下就可以 了,不过项目中有多处功能需要这个效果,并且事先也不知道对应的汉字是什么,所以就需要一个函数来完成这件事情了,根据网上查询的资料自己改进了一个 函数实现的效果,现分享如下. 1:阅读建议      如果你还没有看过我上一篇博文——MySQL数据库获取汉字拼音的首字母函数,强烈建议请先看一下,因为本篇博文是在她的基础之上写的,相关雷同的