sql - كيفية - متى استخدم group by




كيف يمكنني فهرسة عمود قاعدة البيانات (6)

نأمل أن أحصل على إجابات لكل خادم قاعدة بيانات.

للحصول على مخطط تفصيلي لكيفية عمل الفهرسة ، راجع: كيف تعمل فهرسة قاعدة البيانات؟


  1. CREATE INDEX name_index ON Employee (Employee_Name)

  2. في عمود متعدد: CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)


بالنسبة إلى python pytables ، لا تحتوي الفهارس على أسماء وهي مرتبطة بأعمدة واحدة:

tables.columns.column_name.createIndex()

لإنشاء فهارس يمكن استخدام الأشياء التالية:

  1. ينشئ فهرس على جدول. القيم المكررة مسموح بها: CREATE INDEX index_name ON table_name (column_name)

  2. ينشئ فهرسًا فريدًا على جدول. القيم المكررة غير مسموح بها: CREATE UNIQUE INDEX index_name ON table_name (column_name)

  3. فهرس متفاوت المسافات: CREATE CLUSTERED INDEX CL_ID ON SALES(ID);

  4. فهرس غير عنقودي:
    CREATE NONCLUSTERED INDEX NONCI_PC ON SALES(ProductCode);

راجع: http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server للحصول على التفاصيل.


ليست هناك حاجة دائما فهرس لجميع قواعد البيانات. على سبيل المثال: لا يقدم محرك Kognitio aka WX2 بناء جملة للفهرسة لأن محرك قاعدة البيانات يعتني به ضمنيًا. يتم تشغيل البيانات من خلال التقسيم الدائري ، ويقوم Kognitio WX2 بتوصيل البيانات وإيقاف تشغيلها من القرص بأبسط طريقة ممكنة.


نظرًا لأن معظم الإجابات يتم توفيرها لقواعد بيانات SQL ، فإنني أكتب هذا لقواعد بيانات NOSQL ، وخاصةً لـ MongoDB.

يوجد أدناه بناء جملة لإنشاء فهرس في MongoDB باستخدام mongo shell.

db.collection.createIndex( <key and index type specification>, <options> )

مثال - db.collection.createIndex( { name: -1 } )

في المثال أعلاه ، يتم إنشاء فهرس تنازلي رئيسي واحد في حقل الاسم.

ضع في اعتبارك أن فهارس MongoDB تستخدم بنية بيانات B-tree.

هناك أنواع متعددة من الفهارس التي يمكننا إنشاؤها في mongodb ، لمزيد من المعلومات ، يرجى الرجوع إلى الرابط أدناه - https://docs.mongodb.com/manual/indexes/


يمكننا استخدام بناء الجملة التالي لإنشاء فهرس.

CREATE INDEX <index_name> ON <table_name>(<column_name>)

إذا كنا لا نريد السماح بتكرار القيمة ، فيمكننا إضافة UNIQUE أثناء إنشاء الفهرس على النحو التالي

CREATE UNIQUE INDEX <index_name> ON <table_name>(<column_name>)

يمكننا إنشاء فهرس في عمود متعدد عن طريق إعطاء اسم عمود متعدد مفصولة بـ " ، "





indexing