אופרטורים של MySQL לויסות מהירות

שלושה אופרטורים שניתן להשתמש בהן בשאילתות MySQL ויכולים לחסוך לכם לא מעט זמן.

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

לא מדובר בהאקים אלא בפקודות ולידיות לחלוטין שכדאי להכיר.

HIGH_PRIORITY

ניתן להשתמש ב-HIGH_PRIORITY ב-INSERT או ב-SELECT, זה גורם ל-MySQL לתעדף את השאילתה ולהעלות אותה בתור לביצוע מיידי, אידיאלי במקרים של שאילתות שחשוב לנו מאד שיתבצעו מהר גם על חשבון שאילתות אחרות.

דוגמה:


SELECT HIGH_PRIORITY * FROM tbl_name;

LOW_PRIORITY

LOW_PRIORITY מאפשרת לנו לתעדף שאילתות ולהעביר אותן אוטומטית לסוף התור. צריך להזהר עם זה, כי בשרתים עמוסים במיוחד כאשר תמיד יש תור, זה אומר שייתכן שהשאילתה לעולם לא תתבצע. אני משתמש בזה לכל מיני משימות תחזוקה שמתרחשות באמצע הלילה או (במקרי חירום) לפעולות אדמיניסטרטיביות שפחות משפיעות על חווית הגלישה. ניתן להשתמש ב-SELECT או ב-INSERT.

דוגמה:


SELECT LOW_PRIORITY * FROM tbl_name;

INSERT DELAYED

ציינתי ש-LOW_PRIORITY יכולה לגרום לשאילתה שלנו לא לרוץ לעולם, דבר שיכול להיות בעייתי בשאילתת INSERT. על מנת למנוע את האפשרות הזו ובכל זאת לתעדף שאילתת INSERT בעדיפות נמוכה, ניתן להכניס את האופרטור INSERT DELAYED כדי לגרום ל-INSERT לרוץ רק כאשר הטבלה פנויה. כלומר ש-INSERT ירוץ אבל לפחות לא יעכב חיבורים אחרים. ניתן להשתמש ב-INSERT DELAYED רק בטבלאות עם מנוע MyISAM, Archive, BlackHole ו-Memory.

דוגמה:


INSERT DELAYED INTO tbl_name (col) VALUES ('val'); 

שלושת האופרטורים האלו יכולים לחסוך לכם המון זמן של שאילתות מיותרות. וגם אם לא – טוב להכיר אותם.

פוסטים נוספים שכדאי לקרוא

מיקרו בקרים

בית חכם עם ESPHome ו Home Assistant

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

פתרונות ומאמרים על פיתוח אינטרנט

נגישות טכנית – פודקאסט ומבוא

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

פתרונות ומאמרים על פיתוח אינטרנט

יישום של nonce על מנת להגן מפני התקפות injection

בפוסט הקודם הסברתי על hash עם CSP על משאבי inline – שזה נחמד ומעולה אבל פחות ישים בעולם האמיתי שבו בדרך כלל התוכן ה-inline (בין

תמונה של הבית הלבן עם מחשוב ענן וטקסט: FEDRAMP
פתרונות ומאמרים על פיתוח אינטרנט

FedRAMP & FIPS מבוא למתחילים

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

גלילה לראש העמוד