כשמוסיפים, מוחקים או מעדכנים שורות בטבלה, מנוע מבוסס-עמודות לא מעדכן את הנתונים במאגר העמודות באופן מיידי. במקום זאת, הוא מסמן את התוכן המושפע במאגר העמודות כלא חוקי, והשאילתות מתוכננות ומבוצעות באמצעות נתונים מוכווני עמודות ממאגר העמודות ונתונים מוכווני שורות מהמטמון של השורות ומאחסון מסד הנתונים.
עם הזמן, ככל שיותר ויותר בלוקים של נתונים הופכים ללא חוקיים, השיפורים בביצועי השאילתות שמספק המנוע מבוסס-העמודות מצטמצמים עד לנקודה שבה צריך לרענן את הנתונים מבוססי-העמודות כדי לשחזר את השיפורים בביצועי השאילתות. כשמגיעים לסף המינימלי לרענון, המנוע מבוסס-העמודות משתמש במשימה ברקע כדי לרענן את הנתונים הלא תקינים במאגר הנתונים בעמודות. כברירת מחדל, מנוע העמודות משתמש בסף רענון של 50, שמציין שתוכן נתון במאגר העמודות מסומן לרענון כש-50% מהתוכן שלו הופך ללא תקף. אפשר לשנות את הסף המינימלי לרענון כדי להתאים את התקורה של הרענון האוטומטי, וכך לשפר את הביצועים של שאילתות שוטפות בעומס העבודה של האפליקציה.
בנוסף, אתם יכולים לרענן ידנית את הנתונים של הטבלה במאגר העמודות בכל שלב. בדרך כלל, מבצעים רענון ידני כשרוצים שהשינויים בטבלה יופיעו במאגר העמודות כמה שיותר מהר אחרי ביצוע השינויים.
שינוי הסף המינימלי לרענון של מנוע מבוסס-עמודות
עורכים את הערך של
google_columnar_engine.refresh_threshold_percentage database flag כדי לשנות את סף הרענון של מנוע העמודות.
ALTER SYSTEM SET google_columnar_engine.refresh_threshold_percentage=THRESHOLD;
THRESHOLD: מספר שלם בין 1 ל-100. הערך הזה מציין את אחוז בלוקי הנתונים בתוכן שצריכים להפוך ללא חוקיים כדי שהתוכן יסומן לרענון.
רענון ידני של נתוני הטבלה במאגר העמודות
מריצים את הפונקציה google_columnar_engine_refresh ב-SQL כדי לרענן באופן ידני את הנתונים של הטבלה במאגר העמודות בזיכרון.
SELECT google_columnar_engine_refresh(TABLE_NAME);
TABLE_NAME: מחרוזת שמכילה את שם הטבלה או התצוגה המהותית. אם הטבלה או התצוגה נמצאות בסכימה שונה מ-public, צריך לציין את שם הסכימה בפורמט SCHEMA_NAME.TABLE_NAME, לדוגמה myschema.mytable.