پروسیجرها و شنود پارامترها در SQL Server - قسمت سوم
در مطلب قبلی راجع به اثرات منفی شنود پارامترها، در صورت عدم توجه به آن‌ها بیان شد و در این مطلب قصد داریم به راه‌های کاهش اثرات منفی و مقابله با آن‌ها بپردازیم: نکته: راه‌های اشاره شده برای مقابله با شنود پارامترها برای تمام شرایط قابل استفاده نیستند. راه حل اول: استفاده از دستور With Recompile مشکل شنود پارامتر این است که در اولین اجرای پروسیجر، پلن اجرایی را بر اساس پارامترهای ارسالی اولیه ایجاد می‌کند. راه حل غلبه بر این ...
پروسیجرها و شنود پارامترها در SQL Server - قسمت دوم
در ادامه مطلب قبلی ، آشنایی با شنود پارامترها در اس کیو ال سرور، جهت بهبود زمان پاسخگویی پروسیجرها یا کوئری‌های پارامتری الزامی است. اس کیو ال سرور بوسیله ایجاد پلن‌های اجرایی کامپایل شده، سعی در بهینه سازی پروسیجرها دارد. هنگامیکه اس کیو ال سرور یک پروسیجر را کامپایل می‌نماید، به پارامترهای ارسال شده توجه دارد و یک پلن اجرایی را بر اساس پارامترهای ارسالی ایجاد می‌کند. به ف ...
پروسیجرها و شنود پارامترها در SQL Server
در اس کیو ال سرور 2016، قابلیت غیر فعال نمودن parameter sniffing در سطح بانک اطلاعاتی مهیا شده است. اما چرا؟ قبل از پاسخگویی به سؤال بالا، به یک سری مقدمات نیاز است: وقتی یک کوئری به اس کیو ال ارسال می‌شود، چه اتفاقی رخ می‌دهد؟ ...
SQL Indexing
دلیل استفاده از ایندکس چیست؟ این سوالی است که ممکن است هر توسعه دهنده‌ای به آن در ابتدا پاسخ دهد: «جهت بالابردن سرعت و کارآیی!» حال اگر بپرسیم چگونه؟ توضیحات چندان دقیقی ارائه نمی‌شود. ایندکس چیست؟ ...
فیلترها در MVC
هنگامی که درخواستی به سرور ارسال می‌گردد، به کنترلر و اکشن مربوطه جهت پاسخگویی هدایت می‌شود. خب شاید مواقعی شما نیاز داشته باشید قبل یا بعد از اجرای اکشن متدی، کدی اجرا گردد. به‌همین جهت در MVC قابلیتی بنام Filter ارائه گردید. ...
کارهایی جهت بالابردن کارآیی Entity Framework #3
در قسمت‌های قبلی ( ^ و ^ ) راهکارهایی جهت بالا بردن کارآیی، ارائه شد. در ادامه، به آخرین قسمت این سری اشاره خواهم کرد. فراخوانی متد شناسایی تغییرات یادآوری: قبل از هر چیز با توجه به این مقاله دانستن این نکته الزامی است که فراخوانی برخی متدها مانند DbSet.Add سبب فراخوانی DataContext.ChangeTracker.DetectChanges خواهند شد. فرض کنید قصد افزودن 2000 موجودیت دانش آموز را دارید: for (int i = 0; i < 2000; i++) { ...
کارهایی جهت بالابردن کارآیی Entity Framework #2
در ادامه‌ی مطلب قبلی ، نکاتی دیگر را جهت افزایش کارآیی سیستم‌های مبتنی بر EF اشاره خواهیم کرد: عدم استفاده از کوئری‌های کلی فرض کنید در یک فرم جستجو، 4 تکست باکس FirstName, LastName, City و PostalZipCode برای عملیات جستجو در نظر گرفته شده است و کاربر می‌تواند بر اساس آنها جستجو را انجام دهد. var searchModel = new Pupil { FirstName = "Ben", LastName = null, City = null, PostalZipCode = null }; List ...
کارهایی جهت بالابردن کارآیی Entity Framework #1
امروزه اهمیت استفاده از Entity Framework بر هیچ کسی پوشیده نیست؛ اما در صورتی که به مفاهیم ابتدایی آن آشنایی نداشته باشید ممکن است در دام هایی بیفتید که استفاده از آن کم رنگ شود. در زیر به توصیه‌هایی جهت بالابردن کارآیی برنامه‌های مبتنی بر EF اشاره خواهیم کرد. تنها دریافت رکوردهای مورد نیاز EF راهی برای کار ...
بازسازی LocalDb
LocalDb یک نسخه‌ی کوچک شده از SQL Express 2012 است که نیازی به سرویس ندارد که سبب سهولت استفاده از آن را در پروژه‌های Visual Studio فراهم می‌آورد و یک ویژگی بسیار خوب برای برنامه‌هایی است که نیاز به استفاده از کلیه‌ی امکانات مهیای SQL Server را ندارند. یکی دیگر از ویژگی‌های آن استفاده در محیط هایی است که اطمینانی از نصب بودن SQL Express در آن‌ها نداریم. در حین توسعه‌ی نرم افزار ممکن است استفاده از LocalDb امکان پذیر نباشد و خللی در کارکرد ...
تقویم شمسی در ویندوز 10
امروز بعد از چندین سال، شاید بعد از 5 سال، ویندوز 7 نسخه Home Premium را به Windows 10 Home ارتقاء دادم. واقعا این روزها دیگر ویندوز 7 در انجام کارها یاری نمی‌کرد و بصورت مداوم خطای صفحه‌ی آبی را نمایش می‌داد. ولی در حین گشت و گذار وب بودم که بصورت اتفاقی به این لینک برخوردم. بعد از مطالعه‌ی لینک و مراجعه به لینک اصلی متوجه شدم مایکروسافت این امکان را به کاربران نسخه اصلی ویندوزهای قبلی داده است که بتوانند بصورت رایگان ویندوزشان را ب ...