שימוש ב-Index advisor

בדף הזה מוסבר על הכלי לייעוץ בנושא אינדקסים ב-Cloud SQL ל-MySQL, ואיך אפשר לראות את ההמלצות שלו לגבי אינדקסים וליישם אותן.

‫Cloud SQL ל-MySQL מציע כלי מנוהל לחלוטין להמלצות לגבי אינדקסים, שעוקב אחרי השאילתות שמסד הנתונים מטפל בהן באופן קבוע. יועץ האינדקסים מנתח את השאילתות האלה מעת לעת כדי להמליץ על אינדקסים חדשים שיכולים לשפר את הביצועים של השאילתות. הכלי לייעוץ בנושא אינדקסים מאפשר לכם לזהות ולפתור בעיות בביצועים של מערכות ושאילתות.

איך פועל הכלי לייעוץ בנושא אינדקסים?

הכלי לייעוץ בנושא אינדקסים עוזר לשפר את עיבוד השאילתות באמצעות הפעולות הבאות:

  • המלצה על קבוצת אינדקסים עם פקודות SQL ליצירת אינדקסים.
  • מספקים נתונים שיעזרו לכם להעריך את האינדקסים המומלצים, למשל, גודל האחסון המשוער וההשפעה של האינדקסים על שאילתה.
הכלי לייעוץ בנושא אינדקסים מאחסן ומציג את הפקודה CREATE INDEX שמכילה את שם מסד הנתונים, שם הטבלה ושמות העמודות. השאילתות שעוקבים אחריהן הן שאילתות שעברו נורמליזציה והוסרו מהן כל הערכים המילוליים.

ההמלצות לאינדקס מוצפנות במנוחה.

ב-Cloud SQL ל-MySQL, אפשר להשתמש בדגלים של מסד הנתונים כדי להגדיר ולכוונן את הכלי להמלצות על אינדקסים. מידע נוסף זמין במאמר בנושא דגלים של Index advisor.

מגבלות

אלו המגבלות שחלות על הכלי לייעוץ בנושא אינדקסים ב-Cloud SQL ל-MySQL:

  • הכלי לייעוץ בנושא אינדקסים מספק CREATE INDEXהמלצות בלבד.
  • הכלי לייעוץ בנושא אינדקסים לא תומך במופעים עם ההגדרות הבאות:
    • מכונות במהדורת Cloud SQL Enterprise
    • מקרים שבהם נעשה שימוש בסוגי מכונות עם ליבות משותפות

לפני שמתחילים

כדי לקבל המלצות מ-Index Advisor, צריך להשתמש במהדורת Cloud SQL Enterprise Plus ולהפעיל את Query Insights במהדורת Cloud SQL Enterprise Plus במכונת Cloud SQL.

תפקידים והרשאות נדרשים

כדי לקבל את ההרשאות שנדרשות לקבלת המלצות מ-Index Advisor, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Cloud SQL Viewer (roles/cloudsql.viewer) בפרויקט שמארח את מופע Cloud SQL. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לקבלת המלצות מ-Index Advisor. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לקבל המלצות מיועץ האינדקסים, נדרשות ההרשאות הבאות:

  • databaseinsights.recommendations.query
  • databaseinsights.resourceRecommendations.query

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

הפעלת המלצות של כלי הייעוץ בנושא אינדקסים

כשמפעילים את Query Insights במהדורת Cloud SQL Enterprise Plus, ההמלצות של Index Advisor מופעלות באופן אוטומטי. מידע נוסף על הדרישות להפעלה מחדש זמין במאמר הפעלת תובנות לגבי שאילתות.

השבתת ההמלצות של הכלי לייעוץ בנושא אינדקסים

אי אפשר להשבית את ההמלצות של הכלי לייעוץ בנושא אינדקסים בלי להשבית את Query Insights במהדורת Cloud SQL Enterprise Plus.

כדי להשבית את ההמלצות של הכלי לייעוץ בנושא אינדקסים ואת התובנות לגבי שאילתות במהדורת Cloud SQL Enterprise Plus, אפשר לעיין במאמר בנושא השבתת התובנות לגבי שאילתות במהדורת Cloud SQL Enterprise Plus.

צפייה בהמלצות של הכלי לייעוץ בנושא אינדקסים

מערכת Cloud SQL מריצה באופן אוטומטי את הניתוח של הכלי לייעוץ בנושא אינדקסים מעת לעת. כדי לראות המלצות של הכלי לייעוץ בנושא אינדקסים, משתמשים בלוח הבקרה Query insights. בנוסף, אפשר להציג את ההמלצות של הכלי לייעוץ בנושא אינדקסים כטבלה או לבקש ניתוח ודוח לפי דרישה בכל שלב.

צפייה בהמלצות וסינון שלהן בלוח הבקרה 'תובנות לגבי שאילתות'

  1. נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על תובנות לגבי שאילתות.
  4. ההמלצות של הכלי לייעוץ בנושא אינדקסים מוצגות בעמודה המלצה בקטע התגים והשאילתות המובילים.
  5. אופציונלי: כדי להציג רק את השאילתות עם המלצות CREATE INDEX, מוסיפים מסנן להמלצה: יצירת אינדקסים.

צפייה בהמלצות לשאילתה

כדי לראות המלצות לאינדקס עבור שאילתה ספציפית, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על תובנות לגבי שאילתות.
  4. בקטע Top queries and tags (השאילתות והתגים המובילים), לוחצים על Queries (שאילתות).
  5. כדי לקבל פרטים על המלצה לשאילתה, מבצעים אחת מהפעולות הבאות:
    • כדי לקבל מידע נוסף על ההמלצות לשאילתה שנבחרה, כולל המידע הבא, לוחצים על שאילתה:
      • השפעה על הביצועים (גבוהה, בינונית ונמוכה): מהירות השאילתה המשוערת אחרי יצירת כל האינדקסים המומלצים.
      • המלצות: יצירת המלצות לאינדקסים.
      • הטבלאות שיושפעו: מספר הטבלאות שיושפעו כשייווצרו אינדקסים.
      • נפח האחסון הנוסף המשוער שנדרש: נפח האחסון המשוער שנדרש ליצירת כל האינדקסים המומלצים.
      • מספר השאילתות שהושפעו: המספר הכולל של שאילתות בעומס העבודה שהושפעו מההמלצות לגבי האינדקס. אינדקס יכול להועיל לכמה שאילתות.
    • כדי לקבל המלצות מפורטות לגבי יצירת אינדקסים לשיפור הביצועים של שאילתה מסוימת, לוחצים על יצירת אינדקסים בשאילתה הרלוונטית.

הצגת ההמלצות בתצוגת טבלה של מסד נתונים

אפשר לקרוא את התוצאות בטבלה הבאה שנמצאת במסד הנתונים mysql:

  • mysql.cloudsql_db_advisor_recommended_indexes: מציג רשימה של אינדקסים חדשים מומלצים לכל מסד נתונים. הוא כולל גם הערכות של נפח האחסון שנדרש לכל אינדקס, ומספר השאילתות שכל אינדקס יכול להשפיע עליהן.

לדוגמה, כדי לראות את התוצאות של הניתוח האחרון של המלצות לגבי אינדקס, בפורמט של טבלה, מריצים את השאילתה הבאה:

SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;

יצירת אינדקסים מומלצים

אפשר ליצור אינדקסים מומלצים ממרכז השליטה של תובנות לגבי שאילתות או מתצוגת טבלה של מסד נתונים.

כדי ליצור אינדקס מומלץ באמצעות לוח הבקרה Query insights:

  1. נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על תובנות לגבי שאילתות.
  4. בטבלה Top dimensions by database load (המאפיינים המובילים לפי עומס על מסד הנתונים), לוחצים על Queries (שאילתות).
  5. לוחצים על יצירת אינדקסים לשאילתה ספציפית.
  6. לוחצים על העתקת כל הפקודות של האינדקס. הפקודות CREATE INDEX מועתקות ללוח.
  7. מתחברים למופע הראשי בשורת הפקודה.
  8. כדי ליצור את האינדקסים המומלצים, מריצים את הפקודות שהועתקו ללוח, לדוגמה:

    CREATE INDEX ON "public"."demo_order" ("customer_id");

העמודה index בטבלה mysql.cloudsql_db_advisor_recommended_indexes מכילה, בכל שורה, הצהרת DDL מלאה של MySQL CREATE INDEX ליצירת האינדקס שמומלץ בשורה הזו.

כדי להחיל את ההמלצה של השורה הזו, מריצים את הצהרת ה-DDL הזו בדיוק כמו שהיא מוצגת.

לדוגמה, נניח שזה הפלט שמתקבל מהרצת ניתוח באופן ידני, באמצעות השאילתה שמתוארת בקטע הקודם:

                    index                   | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
 CREATE INDEX ON "School"."Students"("age") |                            3
(1 row)

הדוח הזה מכיל המלצה אחת: להוסיף אינדקס של עמודה אחת בעמודה age בטבלה Students בסכימה School. כדי ליישם את ההמלצה הזו, מזינים שאילתת DDL כמו שמוצגת בדוח:

CREATE INDEX ON "School"."Students"("age");

הצגת השאילתות שהושפעו

  1. נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על תובנות לגבי שאילתות.
  4. בטבלה Top dimensions by database load (המאפיינים המובילים לפי עומס על מסד הנתונים), לוחצים על Queries (שאילתות).
  5. לוחצים על יצירת אינדקסים לשאילתה ספציפית.
  6. לוחצים על הצגת שאילתות מושפעות.
  7. כדי לראות פרטים על שאילתה שהושפעה, לוחצים עליה.

הגדרת הכלי להמלצות על אינדקסים

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

כברירת מחדל, הכלי לייעוץ בנושא אינדקסים פועל פעם ב-24 שעות. אפשר לשנות את זמן התזמון האוטומטי באמצעות הדגל cloudsql_index_advisor_auto_advisor_schedule, או להריץ ניתוח אד-הוק בתאריך או בשעה ספציפיים באמצעות הדגל cloudsql_index_advisor_run_at_timestamp. מידע נוסף זמין במאמר בנושא דגלים של Index advisor.

המאמרים הבאים