zoukankan      html  css  js  c++  java
  • jQueryrocket

    登录类,发现很多如下代码:
    ====================================================================================
    hql = " from SafetyOperationAdvise where (checker='" + checker + "' or checker in ("+hqlAssigner.toString()+"63)"+") ) and status in ('101','110') ";
    list = baseDao.findByHQL(hql);
    pair[165] = list.size();
    ====================================================================================
    这里很多审核、收文等一些系列东西,基本上一种审核最少要查询一张表。当数据越来越庞大,上面这种代码就会非常影响效率,这里修改为如下方式:
    ====================================================================================
    hql = "select count(keyId) from SafetyOperationAdvise where (checker='" + checker + "' or checker in ("+hqlAssigner.toString()+"63)"+") ) and status in ('101','110') ";
    list = baseDao.findByHQL(hql);
    pair[165] = Integer.parseInt(list.get(0).toString());
    ====================================================================================

    1、select count(*) from table

    2、select count(1) from table

    3、select count(keyId) from table

    有主键(Primary key)

    3>1>2


    沒有主键(Primary key),

    2>1

    一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的。
    如果你的表只有一个字段的话那count(*)就是最快的,count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(id) 是不包括NULL的统计。

    当用某一具体字段作为count函数的参数时,值为null的记录是不被计算的。

     

  • 相关阅读:
    1、听说过Redis吗?它是什么?
    55、数据库高并发是我们经常会遇到的,你有什么好的解决方案吗?
    54、数据库如何保证持久性?
    53、数据库如何保证原子性?
    52、数据库如何保证一致性?
    注解定义、基本语法和属性
    Macbook 装机必备--开发篇
    http
    python:beaufiful
    python-yield
  • 原文地址:https://www.cnblogs.com/kaspar/p/13395048.html
Copyright © 2011-2022 走看看