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

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

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

בינה מלאכותית

Safeguards על מודל שפה גדול (LLM)

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

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

רשת האינטרנט

איך בונים custom GPT משלכם?

כך תיצרו בוט משלכם, עם הנחיות ומידע משלכם לכל מטרה – לימודית, תקשורתית או חברתית. כלי מאד חזק שזמין גם ללא קוד.

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