resident
سه شنبه 18 تیر 1392, 18:56 عصر
دوستان عزیز سلام.
عرض به خدمتتون من یه view نوشتم که در اون 19 جدول با هم join شدن و 50 تا هم ستون داره .
وقتی من دستور select * from person_view رو اجرا می کنم 174000 رکورد در 11 ثانیه نمایش داده می شه.
و اما مشکل اساسی من: من یه SP نوشتم که در اون یه Dynamic Query دارم که برای گرفتن اطلاعات Page هام به کار میره(مثلا میگم اطلاعات صفحه سوم رو بده). اون SP میاد اطلاعات رو از همین view میخونه. جالــــبیش میدونید کجاست؟ اینجا که اگه بگم 20 تا رکورد با همه ستونها بده حدود 2 دقیقه طول می کشه. نمیدونم مشکل از کجاست؟
اینم اون قسمت از SP که میاد Select می کنه.
declare @SQLQuery nvarchar(max)
set @SQLQuery='select '+@SelectedColumn+' from
(select '+@SelectedColumn+',row_number() over (order by '+@PrimaryKeyName+') as RowNumber from '+@ViewName+') t
where ' + @Condition +' and RowNumber >'+cast(@RowNumberFrom as nvarchar(10))+' and RowNumber < '+cast(@RowNumberTo as nvarchar(10))+' order by '+@OrderBy+@OrderByAsc_Desc
EXECUTE sp_executesql @SQLQuery
البته خب طبیعیه که وقتی ستونهای درخواستی رو کمتر می کنم سرعت اجرا بیشتر میشه
مشکل کار کجاست؟ چه کنم؟
عرض به خدمتتون من یه view نوشتم که در اون 19 جدول با هم join شدن و 50 تا هم ستون داره .
وقتی من دستور select * from person_view رو اجرا می کنم 174000 رکورد در 11 ثانیه نمایش داده می شه.
و اما مشکل اساسی من: من یه SP نوشتم که در اون یه Dynamic Query دارم که برای گرفتن اطلاعات Page هام به کار میره(مثلا میگم اطلاعات صفحه سوم رو بده). اون SP میاد اطلاعات رو از همین view میخونه. جالــــبیش میدونید کجاست؟ اینجا که اگه بگم 20 تا رکورد با همه ستونها بده حدود 2 دقیقه طول می کشه. نمیدونم مشکل از کجاست؟
اینم اون قسمت از SP که میاد Select می کنه.
declare @SQLQuery nvarchar(max)
set @SQLQuery='select '+@SelectedColumn+' from
(select '+@SelectedColumn+',row_number() over (order by '+@PrimaryKeyName+') as RowNumber from '+@ViewName+') t
where ' + @Condition +' and RowNumber >'+cast(@RowNumberFrom as nvarchar(10))+' and RowNumber < '+cast(@RowNumberTo as nvarchar(10))+' order by '+@OrderBy+@OrderByAsc_Desc
EXECUTE sp_executesql @SQLQuery
البته خب طبیعیه که وقتی ستونهای درخواستی رو کمتر می کنم سرعت اجرا بیشتر میشه
مشکل کار کجاست؟ چه کنم؟