精华内容
下载资源
问答
  • oracle count 百万级 查询记录总数、总条数优化  最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次是查询总数,一次是查询分页结果 /** 查询总记录数 **/ SELECT COUNT(id) ...

    oracle count 百万级 查询记录总数、总条数优化 

    最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次是查询总数,一次是查询分页结果

    /** 查询总记录数 **/
        SELECT
            COUNT(id) 
        FROM
            USER 
        order by
            id
    
    /** 查询结果集 **/
    select
            * 
        from
            ( select
                row_.*,
                rownum rownum_ 
            from
                ( select
                    id , 
                    user_number,
                    user_name,
                    user_password,     
                    sex,
                    Registered_time,
                    last_login_time,
                    post
                        from
                    USER  u
                order by
                    u.id) row_ 
            where
                rownum <= ?
            ) 
        where
            rownum_ > ?

     

    user表中的记录是128万多条,这个是没有查询条件时的查询,也就是用户刚刚进入模块时的查询,发现查询时间是2566ms~2152ms之间,单独执行每条语句,发现第一条的执行时间在2000ms以上,在PL/SQL中执行的结果也证实了我的判断。所以要对select count语句进行优化。

         在网上找了很多优化方案,大多不尽人意,(分表的方式听上去不错,不过由于单表是历史原因,这里就不作考虑)。最后找到一个比较令人满意的答。就是在语句中加入 /*+ROWID(USER)*/或者/*+ INDEX(USER ID) */ 来提高查询效果。

        听说这个就是强制使用索引统计结果?如果有哪位大虾能把原理详细告诉我,请来多多指点!

    SELECT  /*+ROWID(USER)*/   count(*)  FROM USER t 
    或者
    SELECT  /*+ INDEX(USER ID) */ count(*) FROM USER  t

     使用后,单条统计总数的查询在800ms左右,分页查询结果基本在900ms~950ms之间,基本在一秒之内,达到了当初设计需求。

        当然,这个是没有加查询条件的,当把查询条件加入后,不管前面加不加强制索引,结果时间都在2000ms之间,所以,如果要进行有条件的查询,就要在where条件中进行优化。特别注意条件字段查询前后顺序。

        具体优化请参考

    1.浅析Oracle语句优化规则

    http://www.cnblogs.com/Automation_software/archive/2011/01/21/1940883.html

    展开全文
  • Mysql查询记录总数

    万次阅读 2015-04-28 09:17:16
    $query="select count(*) as TOTAL from table "; $result=mysql_query($query); $temp=mysql_fetch_array($result); echo $temp['TOTAL']; //输出查询结果(记录数)
    $query="select   count(*)   as   TOTAL   from  table  ";   
    
    $result=mysql_query($query);   
    $temp=mysql_fetch_array($result);   
    echo   $temp['TOTAL'];   //输出查询结果(记录数) 
    展开全文
  • SQLite查询记录总数

    千次阅读 2015-11-17 16:50:00
    public int getCount() { SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select count(id) from table",null); cursor.moveToFirst(); ... Long count = cursor...
    public int getCount() {
      SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
      Cursor cursor = db.rawQuery("select count(id) from table",null);
      cursor.moveToFirst();
      Long count = cursor.getInt(0);
      cursor.close();
      return count;
     }

     

    转载于:https://www.cnblogs.com/chenlong-50954265/p/4972215.html

    展开全文
  • 通常mysql获取查询记录总数我们使用如下语句: SELECT COUNT(*) FROM users WHERE k='avs'; SELECT id FROM goods WHERE k='avs' LIMIT 10; 但是记录总数总是需要单独的语句来查询,例如在分页查询程序中就有这样...
    通常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() 则取到了这个纪录。
    展开全文
  • SQL查询记录总数

    千次阅读 2013-08-15 09:12:29
    SELECT COUNT(*) FROM TableName
  • SELECT FOUND_ROWS() //返回查询记录总数 select sql_calc_found_rows col_name from table_name limit 5,3; select found_rows() SELECT语句中加上修饰SQL_CALC_FOUND_ROWS 加上SQL_CALC_FOUND_R
  • 分表查询,分表查询count记录总数

    千次阅读 2016-09-26 14:07:41
    分表查询 (select {$fields} from {$table} where {$where}) union all (select {$fields} from {$table} where {$where}) order by {$orderBy} ...分表查询记录总数,count(),sum() select sum(count) as num
  • 通常mysql获取查询记录总数我们使用如下语句: SELECT COUNT(*) FROM users WHERE k='avs';或:SELECT id FROM goods WHERE k='avs' LIMIT 10; 但是记录总数总是需要单独的语句来查询,例如在分页查询程序中就有...
  • 从统计数据表记录总数谈SQL Server查询优化.pdf
  • 主要介绍了SQL查询数据库中符合条件的记录总数的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 查询Oracle用户下所有表的记录总数

    千次阅读 2018-07-23 11:04:21
    查询时需要DBA权限 //查询某用户下所有表的记录总数 SELECT SUM(NUM_ROWS) FROM dba_tables WHERE owner='FGWPM_PM';  
  • SQL Server-快速查询表中的记录总数

    千次阅读 2019-10-03 06:49:39
    在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等。我们通常的做法是:select count(*) as c from tableA 。然而对于记录数巨大的表,上述做法将会...
  • --查询记录数量 SELECT T.TABLE_NAME, T.NUM_ROWS, T.BLOCKS, T.EMPTY_BLOCKS FROM USER_TABLES T; --查询表备注 SELECT TABLE_NAME, TABLE_TYPE, COMMENTS FROM USER_TAB_COMMENTS WHERE COMMENTS LIKE '%...
  • 因为需要完成如下图的效果需要查询出最近一个时间段内所有的记录总数 有两种方法HOUR()和DATE_FORMAT()。 HOUR()使用时如果计算最近一天的记录需要添加过滤条件,而DATE_FORMAT()不需要添加过滤条件默认查询...
  • Oracle 数据库下 查询当前用户下所有表的记录总数
  • mongodb查询不重复数据的记录总数

    万次阅读 2015-09-16 11:46:23
    导语:db.keyword.distinct("keyword").length ...查看keyword表中keyword字段没有重复的记录总数 这个方法在官方文档中没有看到,试了下find原来也是可以那样使用的 db.keyword.find().length() ==db.keywor
  • 获取最大记录数/记录总数/总数" style="margin:0px; padding:0px; border:0px; list-style:none"> String hql = "select count(*) from User as user"; 获取最大记录数/记录总数/总数" style="margin:0px;...
  • 最近开始学习用NHibernate,在分页显示的时候遇到了麻烦,用Criteria返回分页记录的时候不知道该如何取得记录的总数,用hibernate也... count(Id) 来查询记录总数,可是在要动态传入参数的时候构造 HQL查询语句感觉很麻
  • 我们在有分页显示的需求下,求记录总数的方法:在一次项目中使用struts+hibernate+spring;有一个模块需要使用group by分组查询能直接得出结果,然后在页面显示分页的效果,就根据查询条件构造sql语句如下:select a...
  • java 实现查询一个数据表中记录总数

    千次阅读 2014-01-03 00:12:28
    今天看书写一个小项目例子, 遇到一个小问题 查询一个表中记录总数, 百度了好久没找到怎么解决!后来问一一下群里面的前辈 就解决了   贴上代码就明白了 [java] view plaincopyprint? Connection ...
  • 怎样用ASP统计查询记录总数用ASP实现的一个小检索系统,要求每次对检索到的记录进行统计,怎样实现 生成记录集,之后统计记录数。如:objrs.open sql,conn,1,1之后统计记录的时候就这样:objrs.recordcount --------...
  • VC6下访问Oracle 数据库并获取记录总数;
  • 直接上代码: const ones = await InspectTaskUser.aggregate([{ $facet: { paginatedResult: [ { $match: { user_id: ObjectId(_id) } }, { $skip: (page - 1) * size }, { $limit: size }, ...
  • Mysql 查询相同记录以及总数

    千次阅读 2013-07-07 19:58:44
    select pageNum,count(pageNum) from page group by pageNum having count(pageNum) > 1 limit 0,50; +---------+----------------+ ...| pageNum | count(pageNum) | ...+---------+----------------+ ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,881
精华内容 35,152
关键字:

查询记录总数