إنشاء فهرس في MySQL: دروس فهرس MySQL [2022]
نشرت: 2021-01-01سيتعين على عالم البيانات أو المبرمج العمل مع كميات كبيرة من البيانات ويجب أن يكون قادرًا على التعامل معها بكفاءة لتنفيذ أسرع. يحتاجون أيضًا إلى معرفة كيفية تنظيم البيانات وأسرع الطرق للوصول بسهولة إلى البيانات المحددة المطلوبة.
نظرًا لأن MySQL هو نظام لإدارة قواعد البيانات العلائقية يحتوي على تطبيقات في قطاعات مختلفة مثل قواعد بيانات الويب وتطبيقات التجارة الإلكترونية والوسائط الاجتماعية وما إلى ذلك ، يحتاج علماء البيانات إلى معرفة جميع التقنيات المتعلقة بـ MySQL ، أحدها الفهارس. توضح المقالة كيفية إنشاء الفهرس في MySQL.
جدول المحتويات
ما هو الفهرس؟
في MySQL ، تُستخدم الفهارس لفرز البيانات بطريقة تسلسلية منظمة واسترداد البيانات بكفاءة وسرعة. يتم إنشاؤها باستخدام واحد أو أكثر من الأعمدة التي سيتم استخدامها لتصفية البيانات. الفهارس هي نوع من الجداول التي تحتفظ بحقل أساسي أو حقل فهرس ومؤشر لكل سجل في الجدول الرئيسي.
لفهم أفضل ، يمكن استخدام فهرس الكتاب كمثال. بدلاً من البحث عن صفحة من خلال تصفح جميع الصفحات في الكتاب ، يمكن التحقق من فهرس الكتاب للعثور على الصفحة التي يبحث عنها الشخص.
في معظم أنظمة قواعد البيانات ، هناك حاجة إلى أداء عالٍ وسريع. تستثمر العديد من الشركات مبالغ ضخمة من المال على الأجهزة لاستعادة البيانات ومعالجتها بشكل أسرع. ولكن من خلال تحسين قاعدة البيانات ، يمكن تقليل التكاليف.
عادة ما يكون وقت الاستجابة أطول لأنه يتم تخزين السجلات بشكل عشوائي ، ويجب أن تعثر استعلامات البحث على البيانات المطلوبة عن طريق تكرار السجلات المخزنة بالكامل. تجعل الفهارس هذا البحث أسهل وأسرع.

قراءة: إعادة تسمية اسم العمود في SQL
إنشاء فهرس
يمكنك إنشاء فهرس في MySQL على جدول باستخدام الصيغة الأساسية التالية.
CREATE INDEX index_name table_name (column_name) ؛
يمكنك أيضًا إنشاء فهرس فريد في الجدول. هذا يعني أن الاسم فريد ولا يمكن أن يحمل أي صفين نفس الاسم. يمكن استخدام الصيغة التالية لهذا الغرض.
إنشاء UNIQUE INDEX index_name ON table_name (اسم_العمود) ؛
إذا تم إنشاء فهرس ثانوي لعمود ما ، فإن MySQL تخزن القيم في بنية بيانات منفصلة مثل B-Tree و Hash. في MySQL ، إذا كانت الأعمدة عبارة عن أعمدة سلسلة ، فيمكنك إنشاء فهرس للجزء الأول من قيم العمود لعمود السلسلة باستخدام بناء الجملة:
اسم_العمود (الطول)
لإنشاء جزء مفتاح بادئة العمود عند إنشاء الجدول ، يمكن استخدام الصيغة التالية:
إنشاء جدول الجدول اسم (
العمود_القائمة ،
INDEX (اسم_العمود (الطول))
) ؛
ولإضافة فهرس إلى جدول موجود:
CREATE INDEX index_name ON table_name (column_name (length)) ؛
الطول هنا هو عدد الأحرف إذا كان نوع سلسلة غير ثنائي مثل CHAR و VARCHAR و TEXT وعدد البايتات إذا كان نوع سلسلة ثنائية مثل BINARY و VARBINARY و BLOB. يمكنك أيضًا إنشاء أجزاء مفتاح بادئة العمود لأعمدة CHAR و VARCHAR و BINARY و VARBINARY في MySQL. من الضروري تحديد أجزاء مفتاح بادئة العمود إذا قمت بإنشاء فهارس لأعمدة BLOB و TEXT.
في حالة فهارس FULLTEXT المدعومة فقط لجداول InnoDB و MyISAM ، يمكن أن تتضمن أعمدة CHAR و VARCHAR و TEXT فقط. لا يدعم فهرسة بادئة العمود وإذا تم تحديد أي طول بادئة ، فسيتم تجاهله.
يجب أن تقرأ: أفكار مشروع SQL
تعديل الجداول لإضافة الفهرس أو إفلاته
لإضافة فهارس إلى جدول ، هناك أربعة أنواع من العبارات التي يمكن استخدامها:
- لإضافة مفتاح أساسي:
ALTER TABLE table_name ADD PRIMARY KEY (column_list) ؛

يجب أن تكون القيم المفهرسة هنا فريدة ولا يمكن أن تكون فارغة.
- بالنسبة لفهرس بقيم فريدة:
ALTER TABLE table_name ADD UNIQUE index_name (column_list) ؛
يجب أن تكون القيم فريدة ، باستثناء NULL التي يمكن أن تظهر عدة مرات.
- لإضافة فهرس عادي:
ALTER TABLE table_name ADD INDEX index_name (column_list) ؛
هنا يمكن أن تظهر القيم أكثر من مرة.
- لإنشاء فهرس FULLTEXT خاص:
ALTER TABLE table_name أضف FULLTEXT index_name (عمود_قائمة) ؛
يمكن استخدام فهرس FULLTEXT لأغراض البحث عن النص.
في الجداول الموجودة
لإضافة فهرس في أي جدول موجود ، يمكن استخدام الصيغة التالية:
ALTER TABLE table_name ADD INDEX (index_name) ؛
لحذف فهرس في جدول ، يتم استخدام عبارة DROP INDEX:
ALTER TABLE table_name DROP INDEX (index_name) ؛
عرض معلومات الفهرس
لسرد كافة الفهارس المرتبطة بأي جدول ، يتم استخدام الأمر SHOW INDEX.
إظهار الفهرس من table_name \ G
يتم استخدام "\ G" لإنشاء القائمة بتنسيق عمودي ، مما يؤدي إلى تجنب التفاف السطر الطويل.
اقرأ أيضًا: أسئلة وأجوبة مقابلة SQL
فهارس تنازلية
يستطيع InnoDB تخزين المدخلات بترتيب تنازلي عندما يكون الفهرس فهرسًا تنازليًا. لذلك ، عندما يُطلب ترتيب تنازلي في الاستعلام ، يختار المُحسِّن هذا الفهرس. يعد هذا أكثر فاعلية للاستعلامات التي تحتوي على جمل ORDER BY. يتم دعمها فقط بواسطة محرك التخزين InnoDB.
إن بناء الجملة لإنشاء أو إضافة فهارس تنازلية يشبه التغيير أو إنشاء الصيغ المستخدمة أعلاه.
ALTER TABLE table_name ADD index_name (col1_name desc، col2_name asc) ؛
CREATE INDEX index_name ON table_name (col1_name desc، col2_name asc) ؛
فهارس غير مرئية
لوضع علامة على الفهارس على أنها غير متوفرة لمحسن الاستعلام ، يمكن استخدام الفهارس غير المرئية. تقوم MySQL بتحديث الفهارس غير المرئية عندما تتغير البيانات الموجودة في الأعمدة المرتبطة بالفهرس. تكون الفهارس مرئية بشكل افتراضي ولجعلها غير مرئية ، يجب أن تعلن بوضوح عن الرؤية في وقت الإنشاء أو باستخدام أمر ALTER TABLE.
لإنشاء فهرس غير مرئي ، يتم استخدام الصيغة التالية:
إنشاء الفهرس index_name على table_name (c1، c2…) غير مرئي ؛
لتغيير رؤية الفهارس الموجودة ، تم استخدام الصيغة التالية:
ALTER TABLE table_name ALTER INDEX index_name [VISIBLE | غير مرئى]؛

قم بالتسجيل في دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
خاتمة
يمكن تحسين أداء استعلامات بحث MySQL باستخدام الفهارس. يمكن تحديدها عند إنشاء جدول أو يمكن إضافتها لاحقًا إذا كان الجدول قد تم إنشاؤه بالفعل.
قدمت هذه المقالة وصفًا موجزًا لما هو الفهرس ولماذا يتم استخدامه. يوضح القسم التالي كيفية إنشاء فهرس في MySQL ، وكيف يمكن إضافته إلى جدول موجود وكيفية إنشاء فهرس فريد.
تم أيضًا وصف الأوامر المختلفة لتغيير الجداول وإنشاء فهرس أو إفلاته مع عرض معلومات الفهرس. كما تم شرح الفهارس التنازلية وغير المرئية بإيجاز.
بشكل عام ، سيضيف التعلم والتدريب العملي على جميع قواعد البيانات المذكورة في هذه المقالة إلى تجربتك. قم بالاطلاع على نظرة عامة على الدورة التدريبية ، والتعلم ، وفرص العمل التي تنطوي عليها - منصات مثل upGrad تقدم دورات مليئة بالطاقة مصممة من قبل المعاهد ذات السمعة الطيبة مثل IIIT-B في Executive PG Program Full Stack Development.
