ASP.NET Core به همراه زیر ساختیاست جهت خارج کردن امکانات Caching درون حافظهای آن از سرور جاری و انتقال آن به سرورهای دیگر جهت کاهش بار سرور و برنامه. این کش توزیع شده را میتوان به عنوان زیرساختی برای مدیریت سشنها، مدیریت اطلاعات کش و همچنین مدیریت کوکیهای حجیم ASP.NET Core Identity نیز بکار گرفت. برای مثال بجای ارسال یک کوکی حجیم بالای 5 کیلوبایت به کلاینت، فقط ID رمزنگاری شدهی آنرا ارسال کرد و اصل کوکی را در داخل دیتابیس ذخیره و ...
در مطلب قبلی راجع به اثرات منفی شنود پارامترها، در صورت عدم توجه به آنها بیان شد و در این مطلب قصد داریم به راههای کاهش اثرات منفی و مقابله با آنها بپردازیم: نکته: راههای اشاره شده برای مقابله با شنود پارامترها برای تمام شرایط قابل استفاده نیستند. راه حل اول: استفاده از دستور With Recompile مشکل شنود پارامتر این است که در اولین اجرای پروسیجر، پلن اجرایی را بر اساس پارامترهای ارسالی اولیه ایجاد میکند. راه حل غلبه بر این ...
در ادامه مطلب قبلی ، آشنایی با شنود پارامترها در اس کیو ال سرور، جهت بهبود زمان پاسخگویی پروسیجرها یا کوئریهای پارامتری الزامی است.
اس کیو ال سرور بوسیله ایجاد پلنهای اجرایی کامپایل شده، سعی در بهینه سازی پروسیجرها دارد. هنگامیکه اس کیو ال سرور یک پروسیجر را کامپایل مینماید، به پارامترهای ارسال شده توجه دارد و یک پلن اجرایی را بر اساس پارامترهای ارسالی ایجاد میکند. به ف ...
SQL Server Express LocalDB یا به صورت خلاصه LocalDB، یک بانک اطلاعاتیاست که به صورت متصل به پروسهی برنامهی جاری اجرا میشود؛ برخلاف رویهی متداول بانکهای اطلاعاتی که به صورت یک سرویس مستقل اجرا میشوند. هدف آن، جایگزین کردن نگارش Express نیست و بیشتر حجم کم و سهولت توزیع آن مدنظر بودهاست. برای مثال نگارش Express به صورت یک سرویس مجزا و مستقل بر روی سیستم نصب میشود؛ اما LocalDB به همراه و متصل به برنامهی نوشته شده، اجرا میشود: ...
یکی از جذابترین لحظات کار با LINQ و EF زمانی است که به خاطر افزایش حجم دیتا، کوئری خود را بازنگری کرده و آن را بهینه میکنید.
برای یک مسئله میتوان کوئریهای متنوعی نوشت که همگی به یک جواب میرسند؛ ولی زمان اجرا و میزان حافظهی مصرفی متفاوتی دارند. یک سناریوی رایج در نوشتن کوئریهای LINQ، ترکیب اطلاعات جداول مختلف و محاسبهی یک عدد معنی دار از ترکیب آن هاست.
برای نمونه دو Entity زیر ...
رفع اشکال خطای an error was encountered in the
transport layer در هنگام وصل شدن از کلاینتی که در یک
کامپیوتر دیگر نصب شده است به Sql Server Analysis Services در هنگام برخورد با این مشکل، پس از بررسیها و تستهای مختلف و پیاده
کردن روشهای متفاوتی که در وب مطرح شده بود ، به فکرم
رسید که شاید از طریق درج مستقیم پورت بتوان مشکل را حل کرد که مراحل آن به شرح
ذیل میباشد: ...
قصد داریم الگوهای مختلف ایندکس گذاری و استراتژی Non-Clustered Indexes را در Sql Server، بررسی کنیم. مزایای ایجاد ایندکسهای صحیح بر اساس نیازهای واقعی کاری: سریعتر شدن اجرای کوئریهای جستجو در تعداد رکوردهای بالا مرتب سازی سریعتر نتایج (sorting) کوئریهایی که بر اساس عبارت GROUP BY ایجاد شدهاند، سریعتر اجرا خواهند شد Non-Clustered Indexes
...
در قسمتهای قبلی ( ^ و ^ ) راهکارهایی جهت بالا بردن کارآیی، ارائه شد. در ادامه، به آخرین قسمت این سری اشاره خواهم کرد. فراخوانی متد شناسایی تغییرات یادآوری: قبل از هر چیز با توجه به این مقاله دانستن این نکته الزامی است که فراخوانی برخی متدها مانند DbSet.Add سبب فراخوانی DataContext.ChangeTracker.DetectChanges خواهند شد. فرض کنید قصد افزودن 2000 موجودیت دانش آموز را دارید: for (int i = 0; i < 2000; i++)
{ ...