שימוש ב-Index advisor

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

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

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

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

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

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

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

מגבלות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    כניסה לדף Cloud SQL Instances

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

הצגת המלצות לשאילתה

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

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

    כניסה לדף 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 במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על תובנות לגבי שאילתות.
  4. בטבלה Top dimensions by database load (המאפיינים המובילים לפי עומס מסד הנתונים), לוחצים על Queries (שאילתות).
  5. לוחצים על Create Indexes (יצירת אינדקסים) בשאילתה ספציפית.
  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 במסוף Google Cloud .

    כניסה לדף 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. מידע נוסף זמין במאמר בנושא דגלים של כלי הייעוץ בנושא אינדקסים.

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