توضح هذه المقالة بشكل أساسي كيفية تسريع تحليل فهرس MySQL وتحسين مواقع الويب الديناميكية. iSH China Tutorial Online
1. ما هو الفهرس؟
يتم استخدام مؤشرiSH China Tutorial Online
للعثور بسرعة على السجلات ذات القيم المحددة. ويتم حفظ جميع فهارس MySQL في شكل أشجار B. إذا لم يكن هناك فهرس، عند تنفيذ استعلام، يجب على MySQL فحص جميع السجلات في الجدول بأكمله بدءًا من السجل الأول حتى تجد السجل الذي يلبي المتطلبات. كلما زاد عدد السجلات في الجدول، زادت تكلفة هذه العملية. إذا تم إنشاء فهرس على العمود المستخدم كشرط بحث، فيمكن لـ MySQL الحصول بسرعة على موقع السجل المستهدف دون فحص أي سجلات. إذا كان الجدول يحتوي على 1000 سجل، فإن العثور على السجلات من خلال الفهرس يكون أسرع 100 مرة على الأقل من مسح السجلات بشكل تسلسلي. iSH Chinese Tutorial Online
لنفترض أننا أنشأنا جدولًا باسم الأشخاص: iSH Chinese Tutorial Online
CREATE
TABLE people (peopleid SMALLINT NOT NULL, iSH Chinese Tutorial Online
name CHAR(50) NOT NULL );
قيم أسماء مختلفة في جدول الأشخاص. لا تحتوي أعمدة الأسماء على أي ترتيب صريح في ملف البيانات. إذا قمنا بإنشاء فهرس في عمود الاسم، فسيقوم MySQL بفرز عمود الاسم في الفهرس، ولكل عنصر في الفهرس، يحفظ MySQL داخليًا "مؤشر" إلى موقع السجل الفعلي في ملف البيانات. لذا، إذا أردنا العثور على معرف الأشخاص للسجل الذي يساوي اسمه "Mike" (أمر SQL هو "SELECT peopleid FROMpeople WHERE name='Mike';")، فإن MySQL قادر على العثور على قيمة "Mike" في فهرس الاسم ثم انتقل مباشرة إلى الصف المقابل في ملف البيانات الذي يُرجع بالضبط معرف الأشخاص (999) لهذا الصف. خلال هذه العملية، يحتاج MySQL فقط إلى معالجة صف واحد لإرجاع النتيجة. إذا لم يكن هناك فهرس في عمود "الاسم"، فسيقوم MySQL بفحص جميع السجلات في ملف البيانات، أي 1000 سجل! من الواضح أنه كلما قل عدد السجلات التي تحتاج MySQL إلى معالجتها، زادت سرعة إكمال المهمة. دروس iSH الصينية عبر الإنترنت
2. أنواع الفهرس دروس iSH الصينية عبر الإنترنت
توفر MySQL مجموعة متنوعة من أنواع الفهارس للاختيار من بينها: دروس iSH الصينية عبر الإنترنت
الفهرس العادي: دروس iSH الصينية عبر الإنترنت
هذا هو نوع الفهرس الأساسي، وليس له أي قيود مثل التفرد . يمكن إنشاء الفهارس العادية بالطرق التالية: يقوم برنامج iSH الصيني التعليمي عبر الإنترنت
بإنشاء فهرس، على سبيل المثال، CREATE INDEX <index name> ON tablename (قائمة الأعمدة)؛ يقوم البرنامج التعليمي iSH Chinese عبر الإنترنت
بتعديل الجدول، على سبيل المثال، ALTER TABLE tablename ADD INDEX [اسم الفهرس] ] (قائمة الأعمدة)؛ iSH Chinese Tutorial Online
حدد الفهرس عند إنشاء جدول، مثل CREATE TABLE tablename ([...]، INDEX [اسم الفهرس] (قائمة الأعمدة))؛
الفهرس الفريدللدروس الصينية عبر الإنترنت
: iSH Chinese Tutorial Online
هذا النوع من الفهرس هو في الأساس نفس "الفهرس العادي" السابق، ولكن هناك اختلاف واحد: يمكن أن تظهر جميع القيم في عمود الفهرس مرة واحدة فقط، أي أنه يجب أن تظهر تكون فريدة من نوعها. يمكن إنشاء فهارس فريدة بالطرق التالية: تقوم دروس iSH الصينية عبر الإنترنت
بإنشاء فهارس، مثل CREATE UNIQUE INDEX <index name> ON tablename (قائمة الأعمدة)؛
وتعديل الجداول التعليمية عبر الإنترنت لـ iSH Chinese، مثل ALTER TABLE tablename ADD UNIQUE [index الاسم] (قائمة الأعمدة)؛ iSH Chinese Tutorial Online
حدد الفهرس عند إنشاء جدول، على سبيل المثال، CREATE TABLE tablename ([...]، UNIQUE [اسم الفهرس] (قائمة الأعمدة))؛
المفتاح الأساسي: iSH Chinese Tutorial Online
المفتاح الأساسي هو فهرس فريد، ولكن يجب تحديده على أنه "PRIMARY KEY". إذا سبق لك استخدام أعمدة من النوع AUTO_INCREMENT، فقد تكون على دراية بمفاهيم مثل المفاتيح الأساسية. يتم تحديد المفتاح الأساسي بشكل عام عند إنشاء الجدول، مثل "إنشاء اسم جدول الجدول ([...]، المفتاح الأساسي (قائمة الأعمدة))؛". ومع ذلك، يمكننا أيضًا إضافة مفاتيح أساسية عن طريق تعديل الجدول، مثل "ALTER TABLE tablename ADD PRIMARY KEY (قائمة الأعمدة)؛". يمكن أن يحتوي كل جدول على مفتاح أساسي واحد فقط.
فهرس النص الكامل
لبرنامج iSH الصيني التعليمي عبر
الإنترنت:يدعم MySQL فهرسة النص الكامل والبحث عن النص الكامل بدءًا من الإصدار 3.23.23. في MySQL، نوع الفهرس لفهرس النص الكامل هو FULLTEXT. يمكن إنشاء فهارس النص الكامل على أعمدة من النوع VARCHAR أو TEXT. يمكن إنشاؤه بواسطة الأمر CREATE TABLE، أو بواسطة الأمر ALTER TABLE أو CREATE INDEX. بالنسبة لمجموعات البيانات الكبيرة، يكون إنشاء فهرس نص كامل من خلال أمر ALTER TABLE (أو CREATE INDEX) أسرع من إدراج السجلات في جدول فارغ يحتوي على فهرس نص كامل.