以 SQL 取得各 Tables 資料筆數 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
最近嘗試以 SQL 取得各 Tables 資料筆數,
特將結果分享如下 :
Sybase :
select O.name,rowcnt(I.doampg) RecCnt from sysobjects O,sysindexes I
where I.id=O.id and I.indid=1 and O.type='U' MSSQL :
select O.name,I.rowcnt from sysobjects O,sysindexes I
where I.id=O.id and I.indid=1 and O.type='U' Oracle : A. Compute statistics collection :
1. use table characterics :
create table with 'monitoring' option. and using PL/SQL
"analyze table [TableName] compute statistics;
2. use dbms_stats packages :
EXECUTE dbms_stats.gather_schema_stats (user);
EXECUTE dbms_stats.gather_table_stats (user,'[TableName]'); B. Get Number of rows from all_tables view.
select table_name,num_rows from all_tables where owner=user;
初步測試結果, 速度比 select count(*) from [TableName] 快
(尤其是資料量大時)
僅就 Sybase/MSSQL/Oracle 參種 DBMS, 歡迎眾高手繼續補充...
MySQL/Access/InterBase...
/* Free 和 Create 一樣重要 */
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |