国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQLSERVER中快速獲海量數據的記錄總數

2024-07-21 02:05:32
字體:
來源:轉載
供稿:網友

2月份 曾寫過一篇sqlserver 優化海量查詢的方法http://blog.csdn.net/great_domino/archive/2005/02/01/275839.aspx

最近有同事遇到sqlserver統計記百萬條以上記錄條數太慢的問題,sp經常會遇到統計大量數據問題,或許是巧合的原因,找到一個很簡單的方法!

寫了一篇文章

我們在統計記錄的時候通常的做法是:select count(*) as c from table 。然而對于記錄數巨大的表,上述做法將會非常耗時。在dell 4400 服務器上做試驗,ms sqlserver 2000 數據庫對于100萬記錄的簡單數據表執行上述語句,時間在1分鐘以上。如果在表的某個字段上做聚簇索引,第一次執行該語句的時間和沒有索引的時間差不多,之后執行上述語句,速度很快,在1秒中以內,但當表的記錄數發生較大變化后,再執行該語句又會經歷一次耗時的過程。而且不是每個表都適合做聚簇索引的,對于數量巨大的表,如果需要經常增刪操作,建聚簇索引是一個很不明智的做法,將會極大的影響增刪的速度。那么有沒有一個比較簡單的方法快速獲取表的記錄總數呢?答案是有的。 在ms sql 數據庫中每個表都在sysindexes 系統表中擁有至少一條記錄,該記錄中的rows 字段會定時記錄表的記錄總數。下面是sysindexes 表的相關記錄的含義:

列名      數據類型             描述id            int                        表id(如果 indid = 0 或255)。否則為索引所屬表的idindid       smallint                索引id:                                         0=表                                         1=聚簇索引                                         >1=非聚簇索引                                        255=具有text或image數據的表條目。rows       int                       基于indid=0 和 indid=1地數據級行數,該值對于indid>1重 復。如果indid=255,rows設置為0。    當表沒有聚簇索引時,indid = 0 否則為 1。
中國最大的web開發資源網站及技術社區,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌平区| 达拉特旗| 盘山县| 泊头市| 石台县| 波密县| 察哈| 静宁县| 林周县| 大竹县| 江北区| 湖南省| 济宁市| 白水县| 峡江县| 内江市| 南郑县| 巫山县| 年辖:市辖区| 金堂县| 义马市| 长阳| 古蔺县| 宽城| 静海县| 盐山县| 巧家县| 宁陵县| 平凉市| 浦县| 祁门县| 苗栗县| 涟源市| 手游| 松溪县| 北安市| 廉江市| 大足县| 黔江区| 滕州市| 龙泉市|