您的位置:首页 > 数据库 > Oracle

Mysql、Oracle、SqlServer中“瞬间统计”所有表的行数的神语句,绝不使用count(*)!

2015-04-28 22:21 543 查看
[Author]: Fu Renjie


-- Mysql快速统计行数;

use db_analyst_crm;
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_ROWS,DATA_LENGTH/1024/1024 "DATA_LENGTH",CREATE_TIME,TABLE_COLLATION

FROM INFORMATION_SCHEMA.TABLES
-- WHERE TABLE_SCHEMA = 'root'
ORDER BY TABLE_SCHEMA,TABLE_ROWS DESC;

-- 如何快速的获取oracle数据库中表中记录行数,不使用select count(1)方式:

-- 1.更新整个用户所有表的统计数据更新
SQL> EXEC dbms_stats.gather_schema_stats('【username】',estimate_percent=>100,cascade=> TRUE);

-- 2.查询统计:
select TABLE_NAME, CC.num_rows, CC.last_analyzed
from tabs CC

--SQL[b]Server中 快速统计各个表中的行数。[/b]

select schema_name(t.schema_id) as [Schema], t.name as TableName,i.rows as [RowCount],i.minlen, i.xmaxlen
from sys.tables as t, sysindexes as i
where t.object_id = i.id and i.indid <=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: