MySQL מסד נתונים אינדקס סוג/צור/השתמש שילוב ALTER הצהרת השימוש ב-MySQL

MySQLסוג/צור/השתמש בשילוב של אינדקסMySQLשימוש בהצהרת פקודה

אינדקסים של MySQL

הקמת MySQL index חשובה מאוד לתפעול יעיל של MySQL, והאינדקס יכול לשפר מאוד את מהירות האחזור של MySQL.

לדוגמה, אם MySQL עם עיצוב סביר ושימוש באינדקסים הוא למבורגיני, אז 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 ADD PRIMARY KEY (column_list): הצהרה זו מוסיפה מפתח ראשי, מה שאומר שערכי אינדקס חייבים להיות ייחודיים ולא יכולים להיות NULL.
  • ALTER TABLE tbl_name הוסף שם אינדקס ייחודי (column_list): הערך של האינדקס שנוצר על ידי הצהרה זו חייב להיות ייחודי (למעט NULL, NULL עשוי להופיע מספר פעמים).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): הוסף אינדקס רגיל, ערך האינדקס יכול להופיע מספר פעמים.
  • ALTER TABLE tbl_name ADD 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;

אתה רק צריך לציין את המפתח הראשי בעת שחרור המפתח הראשי, אך בעת שחרור אינדקס, עליך לדעת את שם האינדקס.


הצג מידע על אינדקס

אתה יכול להשתמש בפקודה 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

ברוכים הבאים לערוץ הטלגרם של הבלוג של Chen Weiliang כדי לקבל את העדכונים האחרונים!

🔔 היה הראשון לקבל את "מדריך השימוש בכלי AI של ChatGPT Content Marketing" בספרייה העליונה של הערוץ! 🌟
📚 המדריך הזה מכיל ערך עצום, 🌟זו הזדמנות נדירה, אל תפספסו אותה! ⏰⌛💨
שתפו ותעשו לייק אם בא לכם!
השיתוף והלייקים שלך הם המוטיבציה המתמשכת שלנו!

 

发表 评论

כתובת האימייל שלך לא תפורסם. 必填 项 已 用 * תווית

גלול למעלה