إنشاء فهارس متفاوتة المسافات وغير متفاوتة المسافات في SQL Server



جرب أداة القضاء على المشاكل

في SQL Server ، يوجد نوعان من الفهارس ؛ فهارس مجمعة وغير متفاوتة المسافات. كل من الفهارس المجمعة والفهارس غير العنقودية لها نفس البنية المادية. علاوة على ذلك ، يتم تخزين كلاهما في SQL Server كهيكل B-Tree.



الفهرس العنقودي:

القائمة المجمعة هي نوع معين من الفهرس يعيد ترتيب التخزين الفعلي للسجلات في الجدول. في SQL Server ، تُستخدم الفهارس لتسريع عمليات قاعدة البيانات ، مما يؤدي إلى أداء عالٍ. لذلك ، يمكن أن يحتوي الجدول على فهرس مجمع واحد فقط ، والذي يتم عادةً على المفتاح الأساسي. تحتوي العقد الطرفية للفهرس العنقودي على 'صفحات البيانات'. يمكن أن يمتلك الجدول فهرسًا متفاوتًا واحدًا فقط.



دعونا ننشئ فهرسًا مجمّعًا لفهم أفضل. بادئ ذي بدء ، نحتاج إلى إنشاء قاعدة بيانات.



إنشاء قاعدة البيانات

من أجل إنشاء قاعدة بيانات. انقر بزر الماوس الأيمن فوق 'قواعد بيانات' في مستكشف الكائنات ، وحدد 'قاعدة بيانات جديدة' اختيار. اكتب اسم قاعدة البيانات وانقر فوق موافق. تم إنشاء قاعدة البيانات كما هو موضح في الشكل أدناه.

إنشاء الجدول باستخدام طريقة عرض التصميم

الآن سنقوم بإنشاء جدول باسم 'موظف' بالمفتاح الأساسي باستخدام طريقة عرض التصميم. يمكننا أن نرى في الصورة أدناه أننا خصصنا بشكل أساسي للملف المسمى 'ID' ولم نقم بإنشاء أي فهرس على الجدول.



إنشاء جدول باسم 'الموظف' بمعرف كمفتاح أساسي

يمكنك أيضًا إنشاء جدول عن طريق تنفيذ التعليمات البرمجية التالية.

استخدم [اختبار] اذهب SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo]. [موظف] ([ID] [int] IDENTITY (1،1) NOT NULL ، [Dep_ID] [int] NULL ، [Name] [ varchar] (200) NULL ، [البريد الإلكتروني] [varchar] (250) NULL ، [المدينة] [varchar] (250) NULL ، [العنوان] [varchar] (500) NULL ، CONSTRAINT [Primary_Key_ID] PRIMARY KEY CLUSTERED ([ID ] ASC) WITH (PAD_INDEX = OFF ، STATISTICS_NORECOMPUTE = OFF ، IGNORE_DUP_KEY = OFF ، ALLOW_ROW_LOCKS = ON ، ALLOW_PAGE_LOCKS = ON) تشغيل [PRIMARY]) تشغيل [PRIMARY] GO

سيكون الإخراج على النحو التالي.

إنشاء جدول باسم 'الموظف' بمعرف كمفتاح أساسي

قام الكود أعلاه بإنشاء جدول باسم 'موظف' مع حقل معرف ، معرف فريد كمفتاح أساسي. الآن في هذا الجدول ، سيتم إنشاء فهرس مجمع تلقائيًا على معرف العمود بسبب قيود المفتاح الأساسي. إذا كنت تريد رؤية كافة الفهارس الموجودة على جدول ، فقم بتشغيل الإجراء المخزن 'sp_helpindex'. قم بتنفيذ التعليمات البرمجية التالية لمشاهدة كافة الفهارس الموجودة في جدول باسم 'موظف'. يأخذ إجراء المخزن هذا اسم جدول كمعلمة إدخال.

اختبار الاستخدام EXECUTE sp_helpindex Employee

سيكون الإخراج على النحو التالي.

سيعرض 'sp_helpindex' كافة الفهارس الموجودة على جدول الموظف.

هناك طريقة أخرى لعرض فهارس الجدول وهي الانتقال إلى 'الجداول' في مستكشف الكائنات. حدد الجدول وإنفاقه. في مجلد الفهارس ، يمكنك رؤية جميع الفهارس ذات الصلة بهذا الجدول المحدد كما هو موضح في الشكل أدناه.

عرض جميع الفهارس في الجدول

نظرًا لأن هذا هو الفهرس العنقودي ، فسيكون الترتيب المنطقي والفعلي للفهرس هو نفسه. هذا يعني أنه إذا كان السجل يحتوي على معرف 3 ، فسيتم تخزينه في الصف الثالث من الجدول. وبالمثل ، إذا كان السجل الخامس يحتوي على معرف 6 ، فسيتم تخزينه في الرقم 5العاشرموقع الجدول. لفهم ترتيب السجلات ، تحتاج إلى تنفيذ البرنامج النصي التالي.

استخدم [اختبار] GO SET IDENTITY_INSERT [dbo]. [الموظف] ON INSERT [dbo]. [الموظف] ([ID] ، [Dep_ID] ، [الاسم] ، [البريد الإلكتروني] ، [المدينة] ، [العنوان]) القيم ( 8 ، 6 ، N'Humbaerto Acevedo