نوع فهرس قاعدة بيانات MySQL / إنشاء / استخدام تركيبة استخدام عبارة ALTER في MySQL

MySQLنوع الفهرس / إنشاء / استخدام التحرير والسرد فيMySQLاستخدام بيان الأمر

فهارس MySQL

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

على سبيل المثال ، إذا كانت MySQL ذات التصميم المعقول واستخدام الفهارس هي Lamborghini ، فإن MySQL بدون فهارس وفهارس هي دراجة ثلاثية العجلات للإنسان.

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

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

في الواقع ، الفهرس هو أيضًا جدول ، ويحفظ الجدول المفتاح الأساسي وحقول الفهرس ، ويشير إلى سجلات جدول الكيان.

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

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


الفهرس العادي

إنشاء فهرس

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

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

بالنسبة لأنواع CHAR و VARCHAR ، يمكن أن يكون الطول أقل من الطول الفعلي للحقل ؛ لأنواع BLOB و TEXT ، يجب تحديد الطول.

تعديل هيكل الجدول (إضافة فهرس)

ALTER table tableName ADD INDEX indexName(columnName)

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

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 table mytable ADD UNIQUE [indexName] (username(length))

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

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

قم بإضافة وإزالة الفهارس باستخدام الأمر ALTER

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

  • ALTER TABLE tbl_name إضافة مفتاح أساسي (column_list): تضيف هذه العبارة مفتاحًا أساسيًا ، مما يعني أن قيم الفهرس يجب أن تكون فريدة ولا يمكن أن تكون فارغة.
  • تغيير الجدول tbl_name إضافة اسم_فهرس فريد (قائمة_الأعمدة): يجب أن تكون قيمة الفهرس التي تم إنشاؤها بواسطة هذه العبارة فريدة (باستثناء NULL ، قد تظهر NULL عدة مرات).
  • تغيير الجدول tbl_name إضافة فهرس اسم_العمود (قائمة_الأعمدة): أضف فهرسًا عاديًا ، يمكن أن تظهر قيمة الفهرس عدة مرات.
  • ALTER TABLE tbl_name أضف FULLTEXT index_name (column_list):تحدد العبارة الفهرس على أنه FULLTEXT لفهرسة النص الكامل.

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

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

يمكنك أيضًا استخدام جملة DROP في الأمر ALTER لإسقاط الفهارس.جرب المثال التالي لإسقاط الفهرس:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

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

يمكن أن يعمل المفتاح الأساسي في عمود واحد فقط. عند إضافة فهرس مفتاح أساسي ، تحتاج إلى التأكد من أن المفتاح الأساسي ليس NULL افتراضيًا (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;

تحتاج فقط إلى تحديد PRIMARY KEY عند إسقاط المفتاح الأساسي ، ولكن عند إسقاط فهرس ، يجب أن تعرف اسم الفهرس.


إظهار معلومات الفهرس

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

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

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

مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ ) شارك "نوع فهرس قاعدة بيانات MySQL / إنشاء / استخدام الجمع بين استخدام العبارة في MySQL" ، وهو أمر مفيد لك.

مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-496.html

مرحبًا بك في قناة Telegram الخاصة بمدونة Chen Weiliang للحصول على آخر التحديثات!

🔔 كن أول من يحصل على "دليل استخدام أداة الذكاء الاصطناعي لتسويق محتوى ChatGPT" في الدليل العلوي للقناة! 🌟
📚 يحتوي هذا الدليل على قيمة كبيرة، 🌟هذه فرصة نادرة، لا تفوتها! ⏰⌛💨
شارك و اعجبك اذا اردت
مشاركتك وإعجاباتك هي دافعنا المستمر!

 

发表 评论

لن يتم نشر عنوان بريدك الإلكتروني. 必填 项 已 用 * 标注

انتقل إلى أعلى