الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن index وview

مغلق
بدأه صاحب همة في 2 أبريل 2006 · 7 رد · 780 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

عندي ثلاثة أسئلة أرجو أن أجد لها اجابة:

1-فيما يتعلق برفع أداء الاستعلامات الواردة الى SQL Server أو ما يعرف بـ Query Optimizing هل هناك ملاحظات يجب اتباعها:

أنا أعرف من الملاحظات ان استخدام ال index و جلب الحقول الضرورية فقط يسرع العملية كثيرا هل هناك اعتبارات أخرى يجب أن تؤخذ في الاعتبار؟

2-ماذا عن multi index ومتى يجب استخدامه بدلا عن النوع المعروف(Single)؟

3-قرأت أنه من أجل الأمان في عرض نتيجة استعلام يجب علي استخدام ال View في عرض البيانات ، هل يمكن التوضيح وماذا اذا كانت Parameter ذات عدد مختلف : بمعنى أني أستخدم مرة الاسم فقط للبحث ومرة أخرى الاسم والجنسية ومرة ثالثة الاسم والقسم والمدير على سبيل المثال وهكذا..

مع جزيل الشكر مقدماً... :rolleyes:

من لمح فجر الأجر هان عليه ظلام التكليف

#2

يتم استخدام الـ View من أجل اختيار بعض الأعمدة و بعض السجلات التي تحقق شرطا معينا

و بالتالي يتم من الصلاحيات بالإعتماد على هذا الأمر

يعني لو عندك جول و يتم تخويل أربع موظفين رأساء أقسام بالتعديل على هذا الجدول

و تريد أن يتم عرض الموظفين الخاصين بكل مدير و أن يتم يتمكن رئيس القسم من تعديل

سجلات الموظفين التابعين لقسمه ستقوم بإنشاء أربع View و كل واحد يحتوي على الأعمدة

المسموح تغييرها و السجلات التابعة لكل قسم و اعطاء سماحية الحذف التعديل و الإدخال على

هذا الـ View

بالنسبة للـ Index عندك نوعين

Signal

Unique

الأول يسمح بتكرار قيمة الحقل المطبق عليه الفهرس

و الثاني لا يسمح بهذا

رفع أداء الإستعلام يتم عبر تقليل الجداول الواردة في الإستعلام و طريقة تصميم

قاعدة البيانات تصميميا و فيزيائيا

سلام

#3

أشكرك أخي الكريم

1-بالنسبة للView هل التعامل معها كما ذكرت يعني أني أتعامل مع جدول تماما واذا كان كذلك فكيف يمكن تمرير parameter لتحديد رقم المدير مثلا في المثال الذي ذكرته.

2-يبدو أن المقصود في سؤالي من الindex غير واضح.

الذي ذكرته مفهوم لدي تماما ، لكن ما أقصده هو: عند اضافة index جديد يكون هناك مجال لاختيار أكثر من حقل ليكونوا ضمن نفس index .

سؤالي متى أستخدم اندكس بحقل واحد ومتى استخدم اندكس بأكثر من حقل ؟ وهل الأفضل استخدام ثلاثة اندكسات لثلاثة حقول ام اندكس واحد للحقول الثلاثة مثلاًً ؟

من لمح فجر الأجر هان عليه ظلام التكليف

#4

3-ما المقصود بــالتصميم الفيزيائي؟

من لمح فجر الأجر هان عليه ظلام التكليف

#5

المقصود التصميم الفيزيائي توضع الملفات على الأقراص و تحديد

مجموعات الملفات

أما عند عمل Index على جدول معين يتم الأمر من خلال احتياجك في التصميم

يعني لو عندك جدول مرضى و لديك رقم المريض هو مفتاح أساسي

فإن المفتاح الأساسي هو فهرس أيضا

لكن إذا فرضنا في نفس الجدول لديك استعلامات كثيرة عن اسم المريض و كنيته

و بالتالي الأفضل لك عمل فهرس عليهم الإثنين كالتالي

Create Unique Index Ind_Patient_FLName

On Patinent ( FirstName , LastName )

و بالنسبة للـ View مثل ما تستخدم الجدول

سلام

#6

أشكرك أخي..

1- هل تقصد بالملفات Datafiles ؟

2-هل استخدامي لاندكس لكل من الحلقين أقل من ناحية القوة عند استخدامي انداكس لكليهما؟

هل هناك طريقة لمعرفة درجة قوة الاستعلام؟

من لمح فجر الأجر هان عليه ظلام التكليف

#7

نعم أقصد بالملفات ملفات البيانات

أتوقع الأفضل استخدام فهرس لغرض معين يعني

فهرس الأسماء سيضم أعمدة الأسم الأول و الثاني و الأخير .....

ما عندي فكرة عن كيفية قياس قوة الإستعلام

سلام

#8

لمعرفة الزمن الذي استغرقه الاستعلام في التنفيذ

قم بفتح Query analyzer ثم من Query قم باخذ Show execution plan

ثم قم بكتابة الاستعلام الذي تريده عند التنفيذ سوف تظهر لك صفحة جديدة في الاسفل بجانب Messages

تظهر فيها كل العمليات التي قام بها SQL server لكي يجلب لك هذا الاستعلام حيث يمكنك من معرفة الوقت المستغرق

+ كلفة المعالجة processing + حجم الذواكر المستخدم في كل خطوة من خطوات استخراج الاستعلام

اما بالنسبة لمعرفة الحقول التي يجب وضع عليها الفهارس و كيف يتم ذلك

يمكنك استخدام Index tuning wizard

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

هذا الموضوع مغلق.

مواضيع مشابهة