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

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

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

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (אין הצבעות)

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

אל תשארו מאחור! יש עוד מה ללמוד!

הצטרפו לעדכונים!

העדכונים נשלחים אך ורק כאשר האתר מתעדכן.

רן בר-זיק

רן בר-זיק כותב כל המאמרים באינטרנט ישראל, מפתח אינטרנט מנוסה במגוון שפות ופלטפורמות.
ניתן ליצור איתי קשר באמצעות:
כתובת המייל שלי: info@internet-israel.com.
פרופיל הלינקדאין שלי
הטוויטר שלי
פרופיל הפייסבוק שלי
אני תמיד שמח לייעץ ולעזור, אך בשל עומס הפניות הרב, אני לא תמיד מצליח לענות במהירות.

מאמרים אחרונים