نحوه بدست آوردن فهرست های پیشنهادی SQLserver از طریق Query
ممکن است برخی پرس و جوهای (
Query
) در حال اجرا فاقد
index
صحیح بر روی
Table
مورد نظر باشند و با کندی اجرا شده و در نتیجه بر روی سرعت لود سایت تاثیر منفی می گذارد.
برای یافتن جداول های فاقد
index
صحیح می توانید از طریق
sql server management studio
به دیتابیس خود متصل شوید و
query
زیر را اجرا نمایید.
SET
TRANSACTION
ISOLATION
LEVEL
READ
UNCOMMITTED
SELECT
TOP
200
ROUND
(
s
.
avg_total_user_cost
*
s
.
avg_user_impact
*
(
s
.
user_seeks
+
s
.
user_scans
),
0
)
AS
[Total Cost]
,
d
.
[statement]
AS
[Table Name]
,
equality_columns
,
inequality_columns
,
included_columns
FROM
sys
.
dm_db_missing_index_groups
g
INNER
JOIN
sys
.
dm_db_missing_index_group_stats
s
ON
s
.
group_handle
=
g
.
index_group_handle
INNER
JOIN
sys
.
dm_db_missing_index_details
d
ON
d
.
index_handle
=
g
.
index_handle
ORDER
BY
[Total Cost]
DESC
نتیجه اجرای
query
مانند تصویر زیر می باشد که پرس و جوهای ساخت
Index
را از ستون
Create_Statement
کپی می نماییم و سپس اجرا می کنیم.
توجه داشته باشید در
query
تولید شده برای ایجاد
index
، نام فهرست ها یکتا باشند. در صورت تکراری بودن نام
index
آن را تغییر دهید.
همچنین برای اطمینان
query
قبلی را اجرا نمایید تا در صورتی که
Table
جدید اضافه شده و یا به درستی
index
نشده را نشان دهد.
از آنجا که این موارد پیشنهاد
sql server
می باشد لذا بهتر است به صورت دوره ای روال را تکرار کنید تا به نتیجه پایدار دست پیدا نمایید.
پایگاه داده (Database)
آخرین بروزرسانی
۱۶ بهمن ۱۴۰۲
تعداد کلیک
۵,۱۴۲
کلیه حقوق این وب سایت متعلق به رادکام میباشد.