جلسه چهارم دوره Performance & Tuning در SQL Server با موفقیت برگزار شد در طی این جلسه سناریوهای کاربردی و مفیدی برای دوستان ذکر شد که در ادامه دو مورد از آنها را بررسی خواهیم کرد
1- نحوه ذخیره و بازیابی دادههای Binary با استفاده Filestream :
در طی این سناریو ما در C# برنامهای ایجاد کردیم که نحوه کار ذخیره و بازیابی دیتا در Filestream را انجام میداد. برای ایجاد این برنامه هم از سبک قدیمی برای ذخیره دیتا BLOB استفاده کردیم و هم از سبک جدید (استفاده از کلاس SqlFilestream).
زمانی که شما از کلاس SqlFilestream برای ذخیره و بازیابی دیتا Binary استفاده میکنید یکسری نکات ویژه را باید رعایت کنید که کلیه این نکات کلیدی (مانند ایجاد TransactionHandel و…) در این جلسه بررسی شد.
2- بررسی اولیه Execution Plan و قابلیتهای کلیدی آن
به طور خیلی خیلی خلاصه Execution Plan روش اجرای کوئری برای دستیابی به دیتا، تغییر آن و… را نمایش میدهد. به این روش اصطلاحاً ترتیب فیزیکی میگویند. با استفاده از این روش ما میتوانیم بفهمیم که SQL Server چگونه و با چه روشی کوئری را اجرا میکند.
به طور کلی ما دو نوع Execution Plan داریم.
1- Estimated Execution Plan
2-Actual Execution Plan
در طی این جلسه ما تفاوت اولیه آنها را بررسی کردیم اما در جلسات آینده به طور تخصصی تفاوت این دو را بررسی خواهیم کرد.
اما دو تغییر مهمی که در SQL Server 2016 به ازای Execution Plan بوجود آمده است عبارتند از
1- Live Query Execution Pan (توجه داشته باشید این قابلیت در SQL Server 2014SP1 وجود دارد اما در SQL Server 2016 پیشرفت قابل ملاحضهای داشته است)
2- Compare ShowPlan
برای کسب اطلاعات بیشتر در این خصوص میتوانید به کانال نیک آموز در تلگرام مراجعه کنید.
https://telegram.me/nikamooz
مباحثی که در این جلسه به طور تخصصی بررسی شد عبارتند از
1- آشنایی با Filestream
2- نحوه کار با Filestream در C#
3- آشنایی با FileTable در SQL Server و نحوه کار با آن در C#
4- آشنایی با مفهوم Logical Query Processing
5- آشنایی با مفهوم Physical Query Processing
6- آشنایی اولیه با Execution Plan
7- معرفی انواع Execution Plan (Estimate Plan و Actual Plan)
8- آشنایی با نحوه ذخیره و بازیابی Execution Plan در SQL Server
9- آشنایی با قابلیت Live Query Statistics در SQL Server
10- آشنایی با ساختار BTree و ویژگیهای آن
11- بررسی انواع ساختارهای ذخیرهسازی جداول (Heap,Clustered,Columnstore)
12- معرفی ساختار Heap
13- آشنایی با مشکلات Heap Table در SQL Server
14- بررسی دقیق مشکل Forwarding Pointer در SQL Server
15- بررسی اولیه Clustered Table
منبع: آموزش برنامه نویسی نیک آموز