午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 關于關系數據庫如何快速查詢表的記錄數詳解

關于關系數據庫如何快速查詢表的記錄數詳解

熱門標簽:泗洪正規電話機器人找哪家 怎么去開發一個電銷機器人 南昌呼叫中心外呼系統哪家好 河北便宜電銷機器人軟件 ai電話電話機器人 湖南保險智能外呼系統產品介紹 怎么申請400熱線電話 小程序智能電話機器人 簡單的智能語音電銷機器人

前言

在數據庫中,很多人員習慣使用SELECT COUNT(*)SELECT COUNT(1)SELECT COUNT(COL)來查詢一個表有多少記錄,對于小表,這種SQL的開銷倒不是很大,但是對于大表,這種查詢表記錄數的做法就是一個非常消耗資源了,而且效率很差。下面介紹一下SQL Server、 Oracle、MySQL中如何快速獲取表的記錄數。

SQL SERVER 數據庫

在SQL Server數據庫中, 對象目錄視圖sys.partitions中有一個字段rows會記錄表的記錄數。我們以AdventureWorks2014為測試數據庫。

SELECT OBJECT_NAME(object_id) AS Object_Name, 
 i.name   AS Index_Name,
 p.rows   AS Table_Rows
FROM sys.partitions p
LEFT JOIN sys.sysindexes i ON p.object_id = i.id AND p.index_id = i.indid 
WHERE
 object_id = OBJECT_ID('TableName') 

那么我們還有一些疑問,我們先來看看這些問題吧!

1:沒有索引的表是否也可以使用上面腳本?

2:只有非聚集索引的堆表是否可以使用上面腳本?

3:有多個索引的表,是否記錄數會存在不一致的情況?

4:統計信息不準確的表,是否rows也會不準確

5: 分區表的情況又是怎么樣?

6:對象目錄視圖sys.partitions與sp_spaceused獲取的表記錄函數是否準確。

如下所示,我們先構造測試案例:

IF EXISTS(SELECT 1 FROM sys.objects WHERE type='U' AND name='TEST_TAB_ROW')
BEGIN
 DROP TABLE TEST_TAB_ROW;
END
 
IF NOT EXISTS(SELECT 1 FROM sys.objects WHERE type='U' AND name='TEST_TAB_ROW')
BEGIN
 CREATE TABLE TEST_TAB_ROW
 (
  ID INT,
  NAME CHAR(200)
 )
END
GO
 
SET NOCOUNT ON;
BEGIN TRAN
DECLARE @Index INT =1;
 
WHILE @Index = 100000
BEGIN
 
 INSERT INTO TEST_TAB_ROW
 VALUES(@Index, NEWID());
 
 SET @Index+=1;
 
 IF (@Index % 5000) = 0 
 BEGIN
 IF @@TRANCOUNT > 0 
  BEGIN 
  COMMIT;
  BEGIN TRAN
  END
 END
END
 
IF @@TRANCOUNT > 0 
BEGIN 
 COMMIT;
END
GO

關于問題1、問題2,都可以使用上面腳本, 如下測試所示:

SELECT OBJECT_NAME(object_id) AS Object_Name, 
 i.name   AS Index_Name,
 p.rows   AS Table_Rows
FROM sys.partitions p
LEFT JOIN sys.sysindexes i ON p.object_id = i.id AND p.index_id = i.indid 
WHERE
 object_id = OBJECT_ID('dbo.TEST_TAB_ROW') 

在表dbo.TEST_TAB_ROW 上創建非聚集索引后,查詢結果如下所示:

CREATE INDEX IX_TEST_TAB_ROW ON TEST_TAB_ROW(ID);

我們插入500條記錄,此時,這個數據量不足以觸發統計信息更新,如下所示, Rows Sampled還是1000000

DECLARE @Index INT =1;
 
WHILE @Index = 500
BEGIN
 
 INSERT INTO TEST_TAB_ROW
 VALUES(100000 +@Index, NEWID());
 
 SET @Index+=1;
 
END

如下所示,發現sys.partitions中的記錄變成了100500了,可見rows這個值的計算不依賴統計信息。

當然,如果你用sp_spaceused,發現這里面的記錄也是100500

sp_spaceused 'dbo.TEST_TAB_ROW'

關于問題3:有多個索引的表,是否記錄數會存在不一致的情況?

答案:個人測試以及統計來看,暫時發現多個索引的情況下,sys.partitions中的rows記錄數都是一致的。暫時沒有發現不一致的情況,當然也不排除有特殊情況。

關于問題5: 分區表的情況又是怎么樣?

答案:分區表和普通表沒有任何區別。

關于問題6:對象目錄視圖sys.partitions與sp_spaceused獲取的表記錄函數是否準確?

答案:對象目錄視圖sys.partitions與sp_spaceused獲取的表記錄數是準確的。

ORACLE 數據庫

在ORACLE數據庫中,可以通過DBA_TABLES、ALL_TABLES、USER_TABLES視圖查看表的記錄數,不過這個值(NUM_ROWS)跟統計信息有很大的關系,有時候統計信息沒有更新或采樣比例會導致這個值不是很準確。

SELECT OWNER  , 
  TABLE_NAME, 
  NUM_ROWS ,
  LAST_ANALYZED
FROM DBA_TABLES 
WHERE OWNER = 'OWNER' 
  AND TABLE_NAME = 'TABLE_NAME'; 
 
 
SELECT OWNER,
  TABLE_NAME,
  NUM_ROWS ,
  LAST_ANALYZED
FROM ALL_TABLES
WHERE OWNER ='OWNER'
AND TABLE_NAME='TABLE_NAME';
 
 
SELECT TABLE_NAME,
  NUM_ROWS ,
  LAST_ANALYZED
FROM USER_TABLES
WHERE TABLE_NAME='TABLE_NAME'

更新統計信息后,就能得到準確的行數。所以如果需要得到正確的數據,最好更新目標表的統計信息,進行100%采樣分析。對于分區表,那么就需要從dba_tab_partitions里面查詢相關數據了。

SQL>execute dbms_stats.gather_table_stats(ownname => 'username', tabname =>'tablename', estimate_percent =>100, cascade=>true);

MySQL數據庫

在MySQL中比較特殊,雖然INFORMATION_SCHEMA.TABLES也可以查到表的記錄數,但是非常不準確。如下所示,即使使用ANALYZE TABLE更新了統計信息,從INFORMATION_SCHEMA.TABLES中獲取的記錄依然不準確

SELECT TABLE_ROWS 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='table_name'
mysql> SELECT TABLE_ROWS 
 -> FROM INFORMATION_SCHEMA.TABLES
 -> WHERE TABLE_NAME='jiraissue'
 -> ;
+------------+
| TABLE_ROWS |
+------------+
|  36487 |
+------------+
1 row in set (0.01 sec)
 
mysql> select count(*) from jiraissue;
+----------+
| count(*) |
+----------+
| 36973 |
+----------+
1 row in set (0.05 sec)
 
mysql> analyze table jiraissue;
+----------------+---------+----------+----------+
| Table   | Op  | Msg_type | Msg_text |
+----------------+---------+----------+----------+
| jira.jiraissue | analyze | status | OK  |
+----------------+---------+----------+----------+
1 row in set (1.41 sec)
 
mysql> SELECT TABLE_ROWS 
 -> FROM INFORMATION_SCHEMA.TABLES
 -> WHERE TABLE_NAME='jiraissue';
+------------+
| TABLE_ROWS |
+------------+
|  34193 |
+------------+
1 row in set (0.00 sec)
 
mysql> 

如上所示,MySQL這種查詢表記錄數的方法看來還是有缺陷的。當然如果不是要求非常精確的值,這個方法也是不錯的。

當然,上面介紹的SQL Server、Oracle、MySQL數據庫中的方法,還是有一些局限性的。例如,只能查詢整張表的記錄數,對于那些查詢記錄數帶有查詢條件(WHERE)這類SQL。還是必須使用SELECT COUNT(*)這種方法。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • sql 查詢記錄數結果集某個區間內記錄
  • SQL Server數據庫按百分比查詢出表中的記錄數
  • mysql實現查詢最接近的記錄數據示例

標簽:荊門 瀘州 江蘇 威海 景德鎮 淮安 柳州 那曲

巨人網絡通訊聲明:本文標題《關于關系數據庫如何快速查詢表的記錄數詳解》,本文關鍵詞  關于,關系,數據庫,如何,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于關系數據庫如何快速查詢表的記錄數詳解》相關的同類信息!
  • 本頁收集關于關于關系數據庫如何快速查詢表的記錄數詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美 亚洲 另类 激情 另类| 日本国产精品视频| www.污网站| 国产精品电影一区二区| 国产精品久久久久久久9999 | 麻豆映画在线观看| 性一交一乱一透一a级| 日韩一区二区视频| 久久久久久久久久一区| 久久久午夜影院| 一区二区三区在线视频观看58| eeuss一区二区三区| 中文字幕精品无码一区二区| 日韩av在线资源| 欧美大片久久久| 一区二区三区四区乱视频| 久久亚洲综合网| 欧美熟妇另类久久久久久不卡| 永久555www成人免费| jjzz黄色片| 色综合中文字幕国产| 国产日本欧美在线| 成人午夜在线视频| 日韩欧美一区二| 免费在线观看一区二区三区| 色综合天天狠天天透天天伊人 | 男人天堂av片| 麻豆国产欧美日韩综合精品二区| 国产欧美日韩精品专区| 一个人看的www日本高清视频| www亚洲欧美| 久久精品国产av一区二区三区| 亚洲福利在线看| 能免费看av的网站| 91精品国产黑色紧身裤美女| 成人3d动漫一区二区三区| 91在线视频官网| 国内精品视频免费| 蜜臀av午夜精品| 亚州成人av在线| 色91精品久久久久久久久| 麻豆高清免费国产一区| 国产在线播放91| 国产精品久久久久久久久毛片 | 亚洲午夜一区二区| 日韩av一级大片| 成人一区二区三区视频在线观看| 91精品中文在线| 老牛嫩草一区二区三区日本| 成人精品一区二区三区| 国产女人高潮时对白| 97久久精品国产| a天堂在线视频| 欧美专区在线播放| 少妇一级淫片日本| 日韩美女视频免费在线观看| 性生活黄色大片| 国产成人综合亚洲| 91国内精品视频| 国产精品亚洲第一区| 日韩电影在线免费观看| 91九色在线观看| 国产伦精品一区二区三区免费| 亚洲精品二区| 91啪亚洲精品| 337p粉嫩大胆噜噜噜鲁| 亚洲欧美视频在线观看| 久久人人爽人人片| 69堂精品视频| 日本一级二级视频| 亚洲奶大毛多的老太婆| 无码人妻精品一区二区50| 久久久人成影片一区二区三区| 亚洲欧美偷拍视频| 国产精品视频永久免费播放| 手机看片一区二区三区| 欧美性大战久久久久| 久久久亚洲综合| 成年人网站免费视频| 亚洲电影一区二区| ass极品水嫩小美女ass| 亚洲国模精品私拍| 精品一区二区三区四| 日本精品久久久| 国产一区二区三区在线看麻豆| 国产911在线观看| ㊣最新国产の精品bt伙计久久| 一本大道熟女人妻中文字幕在线| 亚洲免费观看在线视频| 久久精品一卡二卡| 欧美一区二区三区啪啪| 五月婷婷中文字幕| 亚洲自拍偷拍第一页| 国产亚洲综合在线| 无码人妻丰满熟妇区毛片蜜桃精品| 精品视频久久久| 一二区在线观看| 精品国产乱码久久久久| 久久一日本道色综合| 日本美女高潮视频| 亚洲精品一区二区久| 国产成人a人亚洲精品无码| 97精品视频在线| 国产毛片毛片毛片毛片| 激情视频一区二区| 久久久久国产一区二区三区四区| 亚洲在线观看网站| 精品电影一区二区三区| 国产精品高潮呻吟AV无码| 欧美日韩一区二区三区在线观看免| 久久久不卡影院| 久久久高清视频| 久久91亚洲精品中文字幕| 日韩一级片免费看| 午夜免费福利小电影| 欧美日韩在线观看一区二区| 精品国产乱码久久久久久鸭王1| 97精品在线视频| av一区二区三区四区| www男人天堂| 欧美另类第一页| 成人午夜免费av| 无码成人精品区在线观看| 中文字幕日韩精品在线观看| 免费成人美女在线观看.| 成人黄色大片网站| 亚洲精品国产拍免费91在线| 午夜在线视频观看| www.日本少妇| 日韩视频永久免费| 欧美日韩 一区二区三区| 午夜精品美女久久久久av福利| 欧美精三区欧美精三区 | 99国产精品视频免费观看| 无套内谢丰满少妇中文字幕 | 久久久久99精品成人片三人毛片| 成人h视频在线观看播放| 久久精品欧美一区二区三区不卡 | 日韩成人av电影在线| 精品成人国产在线观看男人呻吟| 亚洲午夜18毛片在线看| 国产又爽又黄ai换脸| 在线播放日韩导航| 欧美熟妇交换久久久久久分类| 无码精品国产一区二区三区免费| 精品国产乱码久久久久久夜甘婷婷| 888奇米影视| 丰满人妻中伦妇伦精品app| 精品国产美女在线| 丁香婷婷综合激情五月色| 免费毛片视频网站| 国产青春久久久国产毛片| 777亚洲妇女| 日本在线不卡视频一二三区| 婷婷丁香激情网| 97久久超碰福利国产精品…| 一区二区三区在线观看国产| 中文字幕777| 国产免费人做人爱午夜视频| 国产99久久精品一区二区 夜夜躁日日躁 | 性久久久久久久久久久| 欧美成年人视频| 国产精品一卡二卡在线观看| 日韩中文字幕免费在线| 亚洲免费影视第一页| 韩日精品视频一区| 国产成人av影视| 国语自产精品视频在线看一大j8| 亚洲人吸女人奶水| www.国产成人| 欧美女人性生活视频| 欧美在线色视频| 国产男男gay网站| 国产成人亚洲精品无码h在线| 日韩在线高清视频| 国产精品久久久久影视| 成年免费在线观看| 制服国产精品| 日韩在线免费视频| 国产亚洲欧洲997久久综合| 真实国产乱子伦对白在线| 免费国产一区二区| 亚洲精品在线网站| 国内精品久久久久久久果冻传媒| 亚洲影视在线播放| 国产suv一区二区| 国产69视频在线观看| 久久久久久久有限公司| 亚洲午夜av久久乱码| 91浏览器在线视频| 国产在线一级片| av在线免费看片| 精品伦理一区二区三区| 一区二区三区天堂av| 亚洲欧美日韩国产另类专区| 一区二区三区免费在线| 亚洲精品久久一区二区三区777| 精品无码久久久久久久动漫| 中文字幕日韩av电影| 夜夜嗨av一区二区三区网页| av一区二区三| 一级特黄曰皮片视频| 大陆av在线播放| 97精品免费视频| 欧美日韩一区二区三区免费看| 青青国产91久久久久久| 国产精品1234区| 亚洲乱码国产一区三区| 精品国产一区二区三区日日嗨| 日韩小视频在线| 在线免费观看日本欧美| 91在线视频官网| 国产91久久久| 免费中文字幕在线观看| 一二三级黄色片| 日韩国产美国| 日本欧美中文字幕| 欧美一区二区在线免费观看| 中文字幕欧美国产| 久久久久久久波多野高潮日日| 国产小视频在线看| 波多野结衣天堂| 精品欧美国产一区二区三区不卡| 久久精品男人天堂| 亚洲一二三区在线观看| 懂色av一区二区在线播放| 国产99999| 在线观看天堂av| 女人扒开屁股爽桶30分钟| 成人在线中文字幕| 久久国产天堂福利天堂| 欧美一级午夜免费电影| 亚洲综合激情网| 成人国产精品免费| 99精品久久久久久中文字幕 | 国产精品久久久久久久久久新婚| 精品美女在线播放| 精品magnet| 中文字幕精品—区二区四季| 婷婷av一区二区三区| 亚洲一级视频在线观看| 亚洲熟女乱综合一区二区| 欧美国产二区| 国产精品亚洲视频在线观看| 久热精品视频在线观看| 亚洲精品720p| 欧美性淫爽ww久久久久无| 国产精品白丝在线| 国产福利一区在线| 刘亦菲久久免费一区二区| 国产精品人人人人| 国产suv精品一区二区68| 亚洲天堂2024| 国产成人在线综合| 青草青青在线视频| 亚洲免费av网| 国产伦精品一区二区三区免| 国产精品久久久久久久久借妻| 在线电影av不卡网址| 91精品国产综合久久久久| 亚洲综合色视频| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲精品在线免费| 麻豆成人小视频| 国产高清一区二区三区| 成人亲热视频网站| 国产精品亚洲一区二区三区| 8x海外华人永久免费日韩内陆视频| 亚洲精品久久久久中文字幕欢迎你| 欧美日韩一区二区在线| 亚洲激情第一区| 中文字幕不卡在线观看| 成人国产精品免费观看| 国产成人亚洲精品青草天美| 天天综合网在线观看| 欧美一级片免费| 免费观看黄色一级视频| 成人1区2区3区| 亚洲黄色一级大片| xxxwww在线观看| 在线观看毛片av| 最近中文字幕av| 91成人一区二区三区| 成人免费视频国产免费| 无码无套少妇毛多18pxxxx| 国产精品传媒在线观看| 午夜视频网站在线观看| 欧美bbbbbbbbbbbb精品| 精品少妇爆乳无码av无码专区| 国产亚洲色婷婷久久99精品| 国产又大又黄视频| 波多野结衣视频观看| 91在线你懂的| 成人乱码一区二区三区| 久久亚洲精选| 国产一区二区三区观看| 人妖欧美一区二区| 国产麻豆精品一区二区| www.亚洲国产| 中文字幕在线视频一区| 日本一区二区三区视频视频| 久久综合精品国产一区二区三区 | 97视频在线观看播放| 国产精品嫩草视频| 国产不卡一区二区三区在线观看| 欧美12av| 国产一区二区三区乱码| 日韩精品一区中文字幕| 欧美一区二区三区影院| 精品夜夜澡人妻无码av| 精品国产视频在线观看| 99re这里只有精品在线| aa视频在线免费观看| 青娱乐精品视频在线| 99这里只有久久精品视频| 亚洲欧洲色图综合| 色噜噜狠狠成人网p站| 亚洲第一精品自拍| 精品国产欧美一区二区三区成人| 国产91成人video| 久久综合九色九九| 欧美高清视频一区二区| 成人黄色生活片| 欧美一级二级三级| 黄色影视在线观看| 国产精品少妇在线视频| 国产麻豆xxxvideo实拍| 九九在线观看视频| av综合在线观看| 青娱乐精品在线视频| 懂色中文一区二区在线播放| 久久噜噜亚洲综合| 狠狠色狠狠色综合日日小说 | 久久亚洲成人精品| 国产精品久久久久免费a∨| 精品免费日产一区一区三区免费| 最新不卡av| 亚洲一区二区三区三州| 国产jk精品白丝av在线观看| 中文字幕一区在线播放| 日韩中文字幕免费观看| 91蝌蚪porny成人天涯| 亚洲黄一区二区三区| 欧洲av在线精品| 丝袜美腿亚洲一区二区| 庆余年2免费日韩剧观看大牛| 欧美一区少妇| 天天色天天综合网| 日本免费在线播放| 欧美一级淫片免费视频魅影视频| 91亚洲精品久久久蜜桃网站| 欧美午夜美女看片| 亚洲欧美国产va在线影院| 国产精品自产拍在线观看中文| 波多野结衣三级在线| 日批视频在线看| 国产无精乱码一区二区三区| www.污视频| 国产精品的网站| 亚洲国产精品成人va在线观看| 97久久久免费福利网址| 午夜午夜精品一区二区三区文| 鲁一鲁一鲁一鲁一av| 肉色超薄丝袜脚交69xx图片| 亚洲一区二区人妻| 国产mv日韩mv欧美| 福利视频一区二区| 日韩在线播放视频| 青青成人在线| 男生和女生一起差差差视频| 欧美日韩综合一区二区三区| av在线综合网| 欧美一级在线视频| 92看片淫黄大片看国产片| 在线成人免费av| 色欲久久久天天天综合网| 色婷婷激情综合| 国产中文一区二区| 久久久无码精品亚洲国产| 99r国产精品| 久久成人精品电影| 国产欧美精品国产国产专区 | 一级黄色电影片| 国产一级一级片| 天天爽夜夜爽夜夜爽| 久久女同互慰一区二区三区| 欧美午夜精品理论片a级按摩| 91在线视频导航| 777久久精品一区二区三区无码| 国产成人在线免费视频| 精品久久久久久久久久国产| 久久综合毛片| 欧美三级网站在线观看| 欧美一区二区三区视频在线 | 国产美女免费网站| 国产精品成人网| 超碰97在线资源| 国产精品1区2区3区4区| 久久九九久久九九| 7m精品福利视频导航| 国产亚洲精品成人a| 成人精品免费看| 欧美国产日韩一区| 亚洲精品手机在线观看| 亚洲色图欧美视频| 欧美精品一区二区久久婷婷| 精品一区久久久| 日本少妇bbwbbw精品| 亚洲视频中文字幕| 欧美一区二区色|