mohsen-sh
سه شنبه 20 تیر 1391, 04:12 صبح
سلام
من این دستور رو در سایت کارفرمام که Mvc3 و Entity هست رو دارم
SubCatNews = (from c in context.NewsInSubCats
where
(c.SubCat.Visible == true &&
c.SubCatNews.Visible == true &&
c.SubCatNews.StatusID == 1 &&
c.SubCatNews.NewsTypeID != 5 &&
(c.SubCatID == catId || c.SubCat.ParentId == catId))
orderby c.SubCatNews.SubCatNewsID descending
select c.SubCatNews)
.Distinct()
.OrderByDescending(p => p.SubCatNewsID)
.Skip(pageIndex * pageSize)
.Take(pageSize);
در حال حاضر در جدول SubCatNews ،تعداد رکورد به 23 هزار عدد رسیده
این 23 هزار رکورد،برای اختصاص به گروه های موجود در SubCat ،از جدول میانی NewsInSubCats استفاده می کنند.
این دستور در حقیقت داده ها رو با صفحه بندی سفارشی تحول میده
اما مشکل اینجاست که اجرای این دستور داره بیش از حد طول میکشه
یعنی وقتی روی یک گروه کلیک میشه که رکورد های مرتبط با اون گروه بیاد،در بسیاری از موارد با خطای TimeOut از طرف Sql مواجه میشه
میخاستم بدونم آیا این مربوط به اپتیمایز نبودن این دستوره و یا من برای این تعداد رکورد مجبورم به سمت Indexing برم
همچنین باید بگم سایت هام (4 سایت با همین حجم) بر روی یک سرور مجازی با 2 گیگ رم هست
پیشاپیش ممنون از کمکتون
من این دستور رو در سایت کارفرمام که Mvc3 و Entity هست رو دارم
SubCatNews = (from c in context.NewsInSubCats
where
(c.SubCat.Visible == true &&
c.SubCatNews.Visible == true &&
c.SubCatNews.StatusID == 1 &&
c.SubCatNews.NewsTypeID != 5 &&
(c.SubCatID == catId || c.SubCat.ParentId == catId))
orderby c.SubCatNews.SubCatNewsID descending
select c.SubCatNews)
.Distinct()
.OrderByDescending(p => p.SubCatNewsID)
.Skip(pageIndex * pageSize)
.Take(pageSize);
در حال حاضر در جدول SubCatNews ،تعداد رکورد به 23 هزار عدد رسیده
این 23 هزار رکورد،برای اختصاص به گروه های موجود در SubCat ،از جدول میانی NewsInSubCats استفاده می کنند.
این دستور در حقیقت داده ها رو با صفحه بندی سفارشی تحول میده
اما مشکل اینجاست که اجرای این دستور داره بیش از حد طول میکشه
یعنی وقتی روی یک گروه کلیک میشه که رکورد های مرتبط با اون گروه بیاد،در بسیاری از موارد با خطای TimeOut از طرف Sql مواجه میشه
میخاستم بدونم آیا این مربوط به اپتیمایز نبودن این دستوره و یا من برای این تعداد رکورد مجبورم به سمت Indexing برم
همچنین باید بگم سایت هام (4 سایت با همین حجم) بر روی یک سرور مجازی با 2 گیگ رم هست
پیشاپیش ممنون از کمکتون