iT邦幫忙

0

MSSQL 要如何之到 非叢集索引的大小

  • 分享至 

  • xImage

您好:
請問
MSSQL 要如何之到 非叢集索引的大小
謝謝

wdchiang iT邦新手 2 級 ‧ 2023-10-12 14:05:30 檢舉
其實很多問題都可以先問 ChatGPT,看看有沒有答案,
目前看起來很神奇的是幾乎都有答案可以參考。
wdchiang iT邦新手 2 級 ‧ 2023-10-12 14:27:20 檢舉
-- 查詢非叢集索引的大小
SELECT
OBJECT_NAME(object_id) AS TableName,
name AS IndexName,
index_id,
used_page_count * 8 AS IndexSizeKB
FROM sys.dm_db_partition_stats
WHERE index_id > 0; -- 只選擇非叢集索引
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
code840
iT邦新手 5 級 ‧ 2023-10-12 11:06:42

ChatGPT:
要查看非叢集索引的大小,你可以使用 Transact-SQL 查詢系統目錄視圖或動態管理視圖。以下是一個示例查詢,可以用來獲取非叢集索引的大小:

SELECT 
    OBJECT_NAME(i.[object_id]) AS TableName,
    i.name AS IndexName,
    SUM(ps.[used_page_count]) * 8 AS IndexSizeKB
FROM sys.dm_db_partition_stats ps
JOIN sys.indexes i ON ps.[object_id] = i.[object_id] AND ps.index_id = i.index_id
WHERE i.type_desc = 'NONCLUSTERED' -- 這個條件確保只返回非叢集索引
GROUP BY i.[object_id], i.name
ORDER BY IndexSizeKB DESC;

這個查詢會返回非叢集索引的大小(以KB為單位),按大小遞減的順序列出它們。請注意,這個查詢僅返回非叢集索引,而不包括主叢集索引(如果有的話)。

如果你使用的是 SQL Server Management Studio (SSMS),你也可以進行以下步驟:

  1. 打開 SSMS 並連接到你的 SQL Server 數據庫。
  2. 展開你的數據庫,然後展開 "Tables" 或 "Views" 節點,取決於你想查詢的表格或視圖上的索引。
  3. 在 "Indexes" 文件夾中,你將看到表格或視圖的索引清單。
  4. 右鍵單擊要查看的非叢集索引,然後選擇 "Properties"。
  5. 在 "General" 頁面上,你將看到索引的大小信息。

這種方法可以讓你通過圖形界面輕鬆查看非叢集索引的大小。

noway iT邦研究生 3 級 ‧ 2023-10-20 08:36:02 檢舉

您好:
謝謝
我在SSMS圖形介面,只有在 片段 才有看到有數字的訊息
是這一個嗎?
https://ithelp.ithome.com.tw/upload/images/20231020/20104095Wh7Z201Rf0.png

另外,在TABLE 上的 索引空間,是指崇集索引嗎?
https://ithelp.ithome.com.tw/upload/images/20231020/201040951DJMSKx71R.png

謝謝

我要發表回答

立即登入回答