Latest web development tutorials

مؤشر الخلية

ماي ماي بناء فهارس للكفاءة تشغيل مهمة جدا، يمكن أن مؤشرات تحسن كبير في سرعة استرجاع البيانات MySQL.

على سبيل المثال، إذا كان تصميم معقول واستخدام مؤشر الخلية هو لامبورغيني، ثم لا يوجد أي تصميم واستخدام مؤشر الخلية هو دراجة ثلاثية العجلات.

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

عند إنشاء فهرس، تحتاج إلى التأكد من أن يتم استخدام المؤشر في الظروف استعلام SQL (بشكل عام كشرط لجملة WHERE).

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

نتحدث أعلاه حول فوائد استخدام المؤشر، إلا أن الاستخدام المفرط للمؤشر يؤدي إلى سوء المعاملة. لذلك، لديه مؤشر أيضا سلبياته: على الرغم من أن مؤشر زيادة كبيرة في سرعة الاستعلام، في حين أنه يقلل من سرعة استكمال الجدول، مثل إدراج جدول، UPDATE و DELETE. لأن الجدول التحديث، الخلية ليست فقط لحفظ البيانات، ولكن أيضا توفير حوالي ملف الفهرس.

فهرسة يستغرق مساحة القرص في ملف الفهرس.


المؤشر العام

إنشاء فهرس

هذا هو المؤشر الأساسي، أنه ليس لديه أي قيود. وقد خلق ذلك بالطرق التالية:

CREATE INDEX indexName ON mytable(username(length)); 

إذا كان شار، نوع VARCHAR، طول يمكن أن يكون أقل من الطول الفعلي من الميدان؛ إذا BLOB والنص أنواع، يجب تحديد طول.

تعديل هيكل الجدول

ALTER mytable ADD INDEX [indexName] ON (username(length)) 

عند إنشاء جدول تحديد مباشرة

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

حذف جملة مؤشر

DROP INDEX [indexName] ON mytable; 

مؤشر فريد من نوعه

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

إنشاء فهرس

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

تعديل هيكل الجدول

ALTER mytable ADD UNIQUE [indexName] ON (username(length)) 

عند إنشاء جدول تحديد مباشرة

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

استخدام الأمر ALTER لإضافة وحذف الفهارس

هناك أربع طرق لإضافة جدول بيانات الفهرس:

  • تغيير الجدول tbl_name أضف المفتاح الأساسي (column_list ): هذا البيان يضيف مفتاح أساسي، وهو ما يعني أن قيمة المؤشر يجب أن تكون فريدة من نوعها ولا يمكن أن تكون فارغة.

  • تغيير الجدول tbl_name أضف INDEX_NAME فريد (column_list ): هذا البيان يخلق يجب أن تكون قيمة مؤشر فريد (باستثناء NULL الخارجي، قد تظهر فارغة عدة مرات).
  • تغيير الجدول tbl_name أضف INDEX_NAME INDEX (column_list ): إضافة الرقم القياسي العادي، يمكن أن يحدث قيمة المؤشر عدة مرات.
  • تغيير الجدول tbl_name أضف INDEX_NAME النص الكامل (column_list ): يحدد هذا البيان مؤشر هو النص الكامل، لفهرسة النص الكامل.

الأمثلة التالية إضافة فهرس في الجدول.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

يمكنك أيضا استخدام جملة DROP لإزالة المؤشر في الأمر ALTER. جرب الأمثلة التالية لحذف الفهرس:

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

استخدام الأمر ALTER لإضافة وحذف المفتاح الأساسي

تعمل فقط على عمود المفتاح الأساسي، عند إضافة فهرس مفتاح أساسي، كنت بحاجة للتأكد من أن المفتاح الرئيسي الافتراضي هو ليس فارغا (NOT NULL). ومن الأمثلة على ذلك ما يلي:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

يمكنك أيضا استخدام الأمر ALTER لحذف المفتاح الأساسي:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

فقط حدد المفتاح الأساسي حذف الوقت المحدد، ولكن عندما قمت بحذف هذا المؤشر، يجب أن تعرف اسم الفهرس.


معلومات الفهرس عرض

يمكنك استخدام الأمر إظهار INDEX لسرد معلومات الفهرس الجدول. بإضافة \ G لتنسيق الإخراج.

جرب الأمثلة التالية:

mysql> SHOW INDEX FROM table_name\G
........