ورود

View Full Version : سرعت پایین در فراخوانی مقادیر از جدول



newsoft
شنبه 23 اردیبهشت 1391, 12:43 عصر
با سلام خدمت دوستان
من با روش زیر اطلاعاتو از دیتابیسم می خونم
سرعتش خیلی کمه منظورم تو لوکاله یکی دو ثانیه طول میکشه
اگه لطف کنین بگین مشکل کجاست ممنون می شم

void LearningBoard_Completed(object sender, EventArgs e)//for board
{

var myBoard = (sender as LoadOperation<LearningBoard>).Entities;
foreach (var item in myBoard)
{
Button btn = new Button { Name = item.LearnItemID.ToString(), Content = item.LearnItemTItle };
btn.Style = (Style)(App.Current.Resources["btn_learn"]);

stackPanelBoard.Children.Add(btn);
btn.Click += new RoutedEventHandler(LearningBoard_Click);

}







_context.Load(_context.GetAllRecordFromLearningBoa rdByLevelQuery(int.Parse(level))).Completed += new EventHandler(LearningBoard_Completed);//for board







public IQueryable<LearningBoard> GetAllRecordFromLearningBoardByLevel(int level)
{
return this.ObjectContext.LearningBoards.Where(
a => (a.ExpirationDate != null) && (a.ExpirationDate.Value > DateTime.Now) && (a.LearnLevel==level));

}




خوب از آخر به اول گذاشتم
با تشکر منتظرم

d_derakhshani
شنبه 23 اردیبهشت 1391, 15:17 عصر
کندی سرعت مربوط به کجاست. از ابتدای فراخوانی تابع لود تا انتها و یا صرفا بعد از فراخوانی؟

newsoft
شنبه 23 اردیبهشت 1391, 15:26 عصر
اینا یه مجموعه است که با فراخوانی تابع _context.Load شروع به اجرای غیر همزان می کنه تا نمایشش توسط تابع LearningBoard_Completed متاسفانه زمان بین لود ونمایش کمی طولانیست

بیشتر از این متوجه منظورتان نمی شوم

d_derakhshani
شنبه 23 اردیبهشت 1391, 15:36 عصر
کد داخل LearningBoard_Completed رو کامنت کنید. بعد ببینید سرعت چقدره؟برای محاسبه دقیق سرعت قبل از فراخوانی زمان سیستم رو در یک لیست باک اضافه کنید. بعد از فراخوانی هم همینطور و روی این دو مقدار متوجه اختلاف شوید

newsoft
شنبه 23 اردیبهشت 1391, 16:05 عصر
فاصله بین فراخوانی تابع تا لود کمپلت بیش از یکو نیم ثانیه است بعد از فراخوانی و نمایش کمتر از یک صدم میلی ثانیست

d_derakhshani
شنبه 23 اردیبهشت 1391, 16:24 عصر
خوب پس هیچ مشکلی نیست عادیه.(در سرور از این کند تر نمیشه. در همین حد میمونه). فقط حواست باشه که چند تا رکورد رو load می کنی اگه تعداد زیاده باید از paging استفاده کنید

newsoft
شنبه 23 اردیبهشت 1391, 16:27 عصر
اوکی پس خیالم جمع شد چون می ترسیدم بره تو لن آبرومون بره