אופרטורים של 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'); 

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

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

DALL·E 2023-10-21 22.28.58 - Photo of a computer server room with red warning lights flashing, indicating a potential cyber threat. Multiple screens display graphs showing a sudde
יסודות בתכנות

מבוא לאבטחת מידע: IDOR

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

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

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

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

מיקרו בקרים

הפעלת מסך oled קטנטן עם esp32

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

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