查询数据库记录数最快方法

在查询一张表的记录数时,由于记录数太多,采用"Select count(1) from 表名"进行查询一直超时。

后采用下面的SQL,不到1秒钟即返回结果。

SQLServer  select rowcnt from sysindexes where id=object_id(‘表名‘)mysql      select tab_row from information_schema where tab_name=‘表名‘DB2     select *  from sysibm.sysindexs数据库系统表中可以找到存储这个表记录数的相关表。
时间: 2024-07-30 10:18:29

查询数据库记录数最快方法的相关文章

MySQL使用GROUP BY后查询总记录数

test表 要查出某个用户具有哪些操作,即把操作进行组合 以下的SQL可以达到目的 SELECT NAME,GROUP_CONCAT(operation) AS operation FROM test GROUP BY NAME 接着要查出这样的用户有多少个,直接在SELECT后加上COUNT()函数已经不起作用了. 一种解决方式是把查询结果当作一张表,在外层用SELECT COUNT(*) SELECT COUNT(*) FROM ( SELECT NAME,GROUP_CONCAT(oper

Hibernate查询总的记录数

1. 原生sql String hql="select count(*) from product" ;//此处的product是数据库中的表名 Query query=session.createSQLQuery(hql); List<BigInteger> list=query.list(); //此处胡一定要注意是Bignter类型的,傻了吧唧的试了好多(Long,Integer)都报错 count = list.get(0).intValue(); 2.hql语句

hibernate查询总记录数

@Override    public Integer getCount() {        return getHibernateTemplate().execute(new HibernateCallback<Integer>(){ @Override            public Integer doInHibernate(Session session) throws HibernateException {                String hql="se

封装的只要是查询数据库并且返回字符串的方法把它放在DBDA类里面供以后直接调用使用

用这个封装好了的类文件可以做以下两个操作方便快捷

查询数据库中各个类型的方法名称

select name from sysobjects where xtype='TR' --所有触发器select name from sysobjects where xtype='P' --所有存储过程select name from sysobjects where xtype='V' --所有视图select name from sysobjects where xtype='U' --所有表 以上为SqlServer用法 Select object_name From user_ob

MSSQL语句学习(查询表的总记录数)

如何高效查询表的总记录数(通用方法) SELECT COUNT(1) ROWS FROM product 野路子1:利用系统自带的存储过程SP_SPACEUSED,详细的使用方式推荐谷哥或度娘, EXEC SP_SPACEUSED 'PRODUCT' 野路子2: 很多表都会设计一个步长为1的自增长整型(INT)列作为表主键,该做法优劣这里不展开讨论,仅基于这一"习惯",外加一个假设:该字段连续无为断,则可以使用MAX函数了,限制较多哈 1,自增长列 2,该列连续 SELECT MAX(

转载:30多条mysql数据库优化方法,千万级数据库记录查询轻松解决

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描, Sql 代码 : select id from t where num is null; 可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询: Sql 代码 : select id from t where num=0; 3.应尽量避免在 wh

查询数据库中重复记录的方法

select * from [DataBase].[dbo].[TableName] where [字段一] in (select [字段一] from [DataBase].[dbo].[TableName] group by [字段一] having count([字段一]) > 1) 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from peop

查询数据库中所有表的记录数,所占空间,索引使用空间

常用 --查询数据库中所有表的记录数,所占空间,索引使用空间 exec sp_MSForEachTable @precommand=N'create table ##(表名 sysname,记录数 int,保留空间 Nvarchar(20),使用空间 varchar(20),索引使用空间 varchar(20),未用空间 varchar(20))', @command1=N'insert ## exec sp_spaceused ''?''', @postcommand=N'select * f