ورود

View Full Version : سوال: sp یا linq



notlikeothers
یک شنبه 20 دی 1394, 09:32 صبح
درود.دوستان نظرتون دربازه استفاده از spواسه کوئری تو ef چیه؟ایا نوشتن کوئری linq بهتره یا استفاده از sp؟
در واقع مقایسه استفاده از spو linq در ef.(سرعت مخصوصا و هزینه)

bomb23
یک شنبه 20 دی 1394, 10:37 صبح
از لحاظ سرعت قطعا sp بهتر هستش ولی از لحاظ ارتباطی که یرنامه نویسا با کدهای زبان برنامه نویسیشون برقرار میکنن linq بهتره، اگه دیتاهای بزرگی دارید حتما با Sp کار کنید وگرنه به ترجیح خودتون یه انتخاب داشته باشید با دونستن اینکه سرعت sp خیلی بیشتر از linq to sql هستش.

notlikeothers
یک شنبه 20 دی 1394, 13:47 عصر
یه جا خوندم که میگف efکوئری کش میکنه این باعث افزایش سرعت میشه ولی خب رم سرور فشار میاد.هزینه اینو چطور ارزیابی میکنید؟(هزینه مصرف متابع منظورمه)

ahmad156
یک شنبه 20 دی 1394, 14:17 عصر
با توجه به کش شدن کوئری های Linq در دیتابیس، از لحاظ کارایی تفاوتی با Stored Procedure نمیکنه.(Stored Procedure هم به همین دلیل سرعت بالایی داره نسبت به کوئری های ساده)
تنها به دو دلیل از Stored Procedure استفاده کنین:
1-در کارهای تیمی که مسئول و متخصص جداگانه بابت دیتابیس هست
2-بعضی کوئری ها که لازمه اون رفت و برگشت های متعدد به دیتابیس هست

bomb23
یک شنبه 20 دی 1394, 15:12 عصر
linq و Ef یکی نیستن.
EF شما رو وارد یه دنیای بزرگتر که همش کد C# هست میکنه، که خب دوس داشتنی تره و هر چیز دوس داشتنی یه سری هزینه داره مثل سرعت کمتر و حافظه بیشتر! ولی خیلی محسوس نیست روی دیتاهای کوچیک و متوسط. راجع به مقایسه ADO و EF جالبه مقاله زیر رو مطالعه کنید:

http://www.exceptionnotfound.net/dapper-vs-entity-framework-vs-ado-net-performance-benchmarking/