همهی برنامهنویسان روزهایی را سپری کردن که نیازمند افزایش سرعت اجرای کوئریهای خود بودن و شاید با افزایش منابع سرور تا حدی توانسته باشند این مشکل را رفع کرده باشند اما شاید به این باور نرسیده باشیم که همیشه راهحل مشکلات ارتقاع سختافزاری نیست و رعایت نکات ریز میتواند سرعت اجرا را حد بسیار زیادی افزایش دهد. برای درک و یادگیری این نکات کافیست با تعاریف ابتدایی آنها آشنا شویم تا در هنگام طراحی اولیه با رعایت آنها مشکلات آینده را کمتر کنیم(البته بهترین روش عادت دادن خود با این اصول است).
اصولی که با کمی سعی خطا هم میتوان به آن رسید و نیازی نیست که شما مباحث اساسی SQL SERVER را یاد بگیری. اما گاهی اوقات یادگری مباحث اولیه برای درک ما از رفتار سیستم و تصمیمات سیستم الزامی است. برای مثال نیاز است یادبگیریم SQL SERVER چگونه مدریت Page انجام میده تا بتوانیم در انتخاب بهتر Index تصمیم درست را انتخاب کنیم.
سیر آموزشی که من سعی دارم بر اساس آن عمل کنم
۱- مفاهیم اولیه Page و DBCC
۲- کمی آموزش دیتابیس Northwind یا WideWorldImporters (هنوز تصمیمی نگرفتهام)
۳- آشنایی با مفاهیم IO Time و Execution Plan
۴- آشنایی با SCAN جدول و جستجوی جدول
۵- آشنای با ساختار Indexها
۶- آشنایی با ساختار Page یک Index
۷- Clustered Index
۸-NonClustered Index
۹- Bookmark Lookup
۱۰- Primary Key , Unique Key
۱۱- Filter Index
۱۲- Distribution Statistics
۱۳- مدیریت Statistics
۱۴- آشنایی ساده با Column Stored
امید است خداوند توفیق دهد تا موارد بالا را بتوانیم به درستی آموزش دهیم. در آخر متوجه خواهی شد با رعایت چند نکته و کمی تجربه میتوان از ابتدا درخواستهایی با سرعت بالا اجرا کرد.
نکته: آموزش SQL زمانی جذاب میشود که بتوان آن را به صورت تجربه بر روی دیتابیس به کار نشان داد.