كيف يمكنني التحقق من حجم عرض مفهرس في SQL Server؟
-
15-11-2019 - |
سؤال
من السهل التحقق من أحجام التخزين للجداول والفهارس، يمكنك النقر بزر الماوس الأيمن فوق كائن الجدول على مستكشف SSMS وفويلا، تظهر التفاصيل في منبثق لطيف.
ولكن نظرا لأن المشاهدات المفهرسة يتم عرض نفس المشاهدات العادية، لا توجد معلومات تخزين Avaiable في SSMS لتظهر لي الحجم الحالي الذي تناوله على القرص.
هل هناك طريقة تغيير لحساب الحجم (قل عبر نظام SP أو طريقة مماثلة)؟
شكرا.
المحلول
EXEC sys.sp_spaceused @objname = N'dbo.YourView'
نصائح أخرى
You can use this query here to find your data for any given indexed view:
SELECT
v.NAME AS ViewName,
i.name AS IndexName,
p.rows AS RowCounts,
SUM(a.total_pages) * 8 AS TotalSpaceKB,
SUM(a.used_pages) * 8 AS UsedSpaceKB,
SUM(a.data_pages) * 8 AS DataSpaceKB
FROM
sys.views v
INNER JOIN
sys.indexes i ON v.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
WHERE
v.Name = 'YourViewNameHere' --View name only, not 'schema.viewname'
AND
i.index_id = 1 -- clustered index, remove this to see all indexes
GROUP BY
v.NAME, i.object_id, i.index_id, i.name, p.Rows
Gives an output something like
ViewName IndexName RowCounts TotalSpaceKB UsedSpaceKB DataSpaceKB
YourViewName IX_YourView 1771 592 552 536
لا تنتمي إلى StackOverflow