• 0

كيفية إنشاء فهرس لأكثر من عمود في جدول SQL

في أي حالات يتطلب عمل فهرسة لأكثر من عمود؟ أي تطبيق Multi-column Indexes

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

بشكل عام هي حسب الاستعلامات لديك والحقول في الجدول، لنفرض أنك تقوم باستعلام يبحث عن العمر و رقم الهاتف فنقوم بعمل فهرسة مزدوجة أي فهرس لحقلين معاً.

فإذا كان لديك استعلام بالشكل التالي:

SELECT * FROM USERS WHERE age > 17 AND phone = xxxxxxxxx

سيكون الفهرس المناسب بهذا الشكل، مثال:

Create Index My_IndexName On TableName_USERS (phone Asc, age Asc)

فنقوم بإنشاء فهرس لأكثر من عمود Multi-column Indexes كما أن ترتيب الأعمدة يهم في الفهرس فوضع رقم الهاتف أولاً أفضل من العمر لأنه قيمة غير مكررة فرضاً بينما ملايين الأشخاص لهم نفس العمر (ضمن مشروعك مثلاً كل عمر له مئة مشترك.. فالفهرسة للرقم أسرع لأنه على الأغلب فريد )

يمكن الاستفادة من السؤال:

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

قد نحتاج لعمل فهرسة لعدة أعمدة سويا في عدة حالات منها:

  • استرجاع بيانات التي تحتاج تحقيق عدة شروط سويا
  • تجميع البيانات أو فرزها بعد تنظيف البيانات بعد البحث
  • تكرار فهرسة عدة أعمدة لجدول واحد
  • تسريع عمليات البحث في عدة أعمدة

الصيغة العامة لعمل فهرسة لعدة أعمدة سويا كالتالي:

CREATE INDEX [index name]
ON [Table name]([column1, column2, column3,...]);

وترتيب الفهرسة هو نفسه الذي يظهر عند دمج الأعمدة سويا.

المثال التالي يوضح كيفية استخدامها.

دعنا ننشئ جدولنا ونضع به بعض القيم كالتالي:

CREATE TABLE class_records(id INT,firstname VARCHAR(50),lastname VARCHAR(50));
edb=# insert into class_records values (1,'harman','baweja');

INSERT 0 1

edb=# insert into class_records values (2,'hardik','pandya');

INSERT 0 1

edb=# insert into class_records values (3,'tom','lane');

INSERT 0 1

ثم عمل الفهرسة كالتالي:

create index class_records_index1 on class_records (lastname,firstname);

CREATE INDEX

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن