اسکریپت: لیست Index های جداول یک دیتابیس

اسکریپت: لیست Index های جداول یک دیتابیس

نوشته شده توسط: زهرا فرهنگی
تاریخ انتشار: ۰۵ آذر ۱۳۹۷
آخرین بروزرسانی: ۲۳ مهر ۱۴۰۲
زمان مطالعه: 5 دقیقه
۵
(۱)

مقدمه

دستور زیر لیست کلیه ایندکس‌های تعریف شده روی جداول (و Viewهای) یک دیتابیس را به ترتیب نام Schema و جداول نمایش خواهد داد.

select schema_name(t.schema_id) + '.' + t.[name] as table_view,
case when t.[type] = 'U' then 'Table'
when t.[type] = 'V' then 'View'
end as [object_type],
i.index_id,
case when i.is_primary_key = 1 then 'Primary key'
when i.is_unique = 1 then 'Unique'
else 'Not unique' end as [type],
i.[name] as index_name,
substring(column_names, 1, len(column_names)-1) as [columns],
case when i.[type] = 1 then 'Clustered index'
when i.[type] = 2 then 'Nonclustered unique index'
when i.[type] = 3 then 'XML index'
when i.[type] = 4 then 'Spatial index'
when i.[type] = 5 then 'Clustered columnstore index'
when i.[type] = 6 then 'Nonclustered columnstore index'
when i.[type] = 7 then 'Nonclustered hash index'
end as index_type
from sys.objects t
inner join sys.indexes i
on t.object_id = i.object_id
cross apply (select col.[name] + ', '
from sys.index_columns ic
inner join sys.columns col
on ic.object_id = col.object_id
and ic.column_id = col.column_id
where ic.object_id = t.object_id
and ic.index_id = i.index_id
order by col.column_id
for xml path ('') ) D (column_names)
where t.is_ms_shipped <> 1
and index_id > 0
order by schema_name(t.schema_id) + '.' + t.[name], i.index_id
  •  Table_Vew: نام جدول یا View مرتبط با ایندکس
  •  Object_Type: نوع Objectای که ایندکس برای آن تعریف شده

-Table
– View

  •  iIndex_id: id مربوط به ایندکس (این شماره در هر جدول یکتا می باشد)
  •  Type:

– Primary Key
– Unique
– Not Unique

  •  Index_Name: نام ایندکس
  •  Columns: لیست اسامی ستون‌ شرکت کننده در ایندکس
  •  Index_Type: نوع ایندکس

– Clustered index
– Nonclustered unique index
– XML index
– Spatial index
– Clustered columnstore index
– Nonclustered columnstore index
– Nonclustered hash index

یک نمونه از اجرای دستور بالا روی دیتابیس AdventureWorks

 
برای بدست آوردن اطلاعات بیش‌تر در مورد اسکریپت های پرکاربرد SQL ، به مقاله زیر مراجعه کنید.

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
اسکریپت: لیست Index های جداول یک دیتابیس
فرمت PDF
1 صفحه
حجم 1 مگابایت
دانلود اسکریپت
title sign
معرفی نویسنده
زهرا فرهنگی
مقالات
51 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
زهرا فرهنگی

کارشناس پایگاه داده، در حال کسب تجربه در زمینه‌های تحلیل انباره داده، BI، بهینه سازی پایگاه‌های داده

پروفایل نویسنده
title sign
دیدگاه کاربران

هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link
ثبت‌نام دوره‌های آنلاین تابستانه نیک‌آموز شروع شد 🏄
مشاهده سرفصل و رزرو رایگان
close-image