נתונים הם הכל וכתוצאה מכך, SQL היאבכל מקום. שפת השאילתא המובנית הפכה לשפת השאילתה המשמשת ביותר והיא נתמכת על ידי רוב מערכות ניהול מסדי נתונים יחסיות מודרניות. למעשה השימוש בו נפוץ כל כך שלעתים קרובות אנו מתייחסים לשרתי בסיסי נתונים כשרתי SQL. השפה מגדירה כיצד ניתן ליצור שאילתות כדי לחלץ ממסד נתונים את הנתונים המדויקים הנדרשים. בהתחשב בריבוי מסדי הנתונים המודרניים עםעשרות טבלאות שהצטרפו, שאילתות SQL יכולות להיות מורכבות למדי. עם מורכבות נוספת מגיע ביצועים מופחתים. מיטוב של שאילתות SQL מאפשר לכוונן שאילתות כך שיחזירו את הנתונים הנכונים במהירות האפשרית. ניתן לבצע אופטימיזציה של שאילתות SQL באופן ידני אך קיימים כלים המסייעים לייעלם. אנו עומדים לבדוק כמה מהכלים הטובים ביותר שמצאנו.
מכיוון שאנחנו רוצים שכולם יהיו באותו דף כמואנו בודקים את המוצרים הטובים ביותר, נתחיל בדיון על אופטימיזציה של שאילתות SQL למה ולבייש. לאחר מכן, נדון בתכונות העיקריות של כלי אופטימיזציה של שאילתות SQL. כלים שונים מציעים תכונות שונות, כפי שאתה עומד לראות. אנו נעשה כמיטב יכולתנו למיין את התכונות החיוניות שעליך לחפש בעת בחירת הכלי הטוב ביותר לצרכים הספציפיים שלך. ולבסוף, נסקור את הכלים הטובים ביותר שיכולנו למצוא.
אופטימיזציה של שאילתות SQL, מה ולמה
במילים פשוטות, אופטימיזציה של שאילתות SQL היא הפעולה שלניתוח שאילתות SQL וקביעת מנגנון הביצוע היעיל ביותר. לעיתים קרובות מדובר בתהליך ניסוי וטעייה בו נבדקות שאילתות שונות בכדי לראות איזו מהן מציעה את הביצועים הטובים ביותר, תוך החזרת הנתונים המבוקשים. מיטבי שאילתות מובנים לעיתים במערכות ניהול מסדי נתונים, אך לעיתים קרובות נחשבים כי כלים של צד שלישי מציעים תוצאות ביצועים טובים יותר. כלי אופטימיזציה של שאילתה טיפוסי יפיק תוכניות שאילתה אחת או יותר לכל שאילתה, שכל אחת מהן היא מנגנון המשמש להפעלת השאילתה. הביצועים (כלומר זמן ביצוע) של כל אחד נמדדים ותוכנית השאילתה היעילה ביותר נבחרת ומשמשת להפעלת השאילתה. בעוד שכמה כלי ייעול שאילתות SQL הם יישומי עוזר פשוטים יותר הדורשים סיוע אנושי רב, המערכות הטובות ביותר עושות את רוב עבודותיהן ברקע.
להלן דוגמה מהירה לאופטימיזציה של שאילתות. אם משתמש מריץ שאילתה שבוחרת כמחצית מנתוני הטבלה בכל פעם שהשרת מונה בכבדות חיבורים בו זמנית. במצב כזה, כלי האופטימיזציה של השאילתה יכול להחליט להשתמש בתוכנית שאילתה המשתמשת במדדי הטבלה כדי לספק את השאילתה, על סמך משאבים מוגבלים. פעולה זו יכולה להפחית את הניקוז של השאילתה על משאבי השרת. אם המשתמש הפעיל את אותה השאילתה במועד אחר בו היו יותר משאבי שרת זמינים, כלי האופטימיזציה של השאילתה יכול היה לקבוע שמגבלת המשאבים אינה בעיה ולא להשתמש באינדקסים של טבלאות, טוען את הטבלה המלאה בזיכרון.
המאפיינים העיקריים של כלי אופטימיזציה של שאילתות SQL
כפי שקבענו, הפונקציה העיקרית של SQLכלי מיטוב השאילתה הוא לנסות לקבוע את הדרך הטובה ביותר להריץ את השאילתה על ידי ניתוח תוכניות שאילתה שונות. כל הכלים שנבדקו כאן יעברו לפחות לזה אבל חלקם מציעים הרבה יותר פונקציונליות. בואו נראה כמה מהתכונות העיקריות הנפוצות בכלי אופטימיזציה של שאילתות SQL.
כוונון SQL בסיסי
זוהי פונקציונליות הליבה של SQL Queryכלי מיטוב. זהו תהליך של כתיבה מחדש של הצהרות SQL בצורה אחרת במטרה לשפר את ביצועי השאילתה תוך קבלת אותה מערך נתונים שהתקבל. הכלי עובד על ידי מדידת זמן ביצוע השאילתה של הגרסאות השונות של השאילתה (תוכניות שאילתה) ובחירת זו שמבצעת הכי מהר.
תמיכה במנועי מסד נתונים
רוב הכלים יתמכו לפחות בשכיחים ביותרמנועי מסד נתונים כמו Microsoft SQL, Oracle, MySQL, PostgreSQL ו- MariaDB. אחרים יתמכו בבחירה רחבה יותר ואחרים יתמכו רק באחת. חשוב לבחור כלי שיכול לתמוך בכל המנועים בהם אתם משתמשים,
תמיכה במאגר נתונים מבוסס ענן
כמה כלי אופטימיזציה של שאילתות SQL מסוגליםלנתח ולבצע אופטימיזציה של מסדי נתונים המתארחים בענן כמו Microsoft SQL Azure או AWS RDS. תמיכה בענן משתנה מאוד מכלי לכלי. שוב, חשוב לבחור אחד התומך במה שיש לך. שים לב שרוב הכלים התומכים בבסיסי ענן יתמכו גם באלה מקומיים.
הכלים הטובים ביותר לאופטימיזציית שאילתות SQL ותוכנה
הגיע הזמן סוף סוף לחשוף - וגםסקירה - מיטב כלי האופטימיזציה של שאילתות SQL שאנו יכולים למצוא. ברשימה שלנו ישנם סוגים רבים ושונים של כלים, שכל אחד מהם מביא את הטוויסט שלו למיטוב. קריטריוני ההכללה העיקריים שלנו היו שכל מוצר לפחות עזר לבצע אופטימיזציה ידנית של שאילתות SQL - רובן עושות זאת אוטומטית - ושהן עבדו כפי שפורסם. לא נרצה שנבזבז זמן על מוצרים שלא יעשו מה שהם צריכים.
1. מנתח ביצועים של מסדי נתונים של SolarWinds (ניסיון בחינם)
המוצר הראשון שלנו הוא מ- SolarWinds, חברהשזכתה למוניטין מצוין ביצירת כמה מכלי ניהול הרשת והמערכת הטובים ביותר ברובם עשרים שנות קיום. מוצר הדגל שלה המכונה SolarWinds Network Performance Monitor נתפס בעיני רבים כאחת מתוכנות הניטור הרוחב הפס הטובות ביותר ברשת. חלק מהתהילה של SolarWinds מגיעה גם מכל הכלים החינמיים הרבים שהיא מציעה. מדובר בכלים קטנים יותר, שכל אחד מהם מטפל במשימה ספציפית של מנהלי רשת. שתי דוגמאות מצוינות לכלים אלו הם מחשבון המשנה המתקדם ושרת ה- Kiwi Syslog.
לאופטימיזציה של שאילתות SQL, מה שאתה צריך, הוא מנתח ביצועים של מסדי נתונים של SolarWinds (DPA), כלי לניהול מסד נתונים שנבנה לשאילתת SQLניטור ביצועים, ניתוח וכוונון. הוא עוקב ומנתח את מקרי מסד הנתונים שלך ב- SQL ובאמצעות שיטת ניתוח זמן תגובה המציב את המיקוד העיקרי בזמן שבין בקשות שאילתה לתגובה המתאימה ממסד הנתונים, מנתח סוגי המתנה ואירועים כדי לאתר את צווארי הבקבוק של מסדי נתונים.

- ניסיון חינם: מנתח ביצועים של מסדי נתונים של SolarWinds
- קישור להורדה: https://www.solarwinds.com/database-performance-analyzer
הכלי, שהוא נהדר גם לפתרון בעיותכולל ממשק קל לשימוש שיסייע לך למצוא בעיות במהירות ובקלות. המסך הראשי יאפשר לך לראות מקרי מסד נתונים, זמני המתנה, ייעוץ לשאילתה, מעבד (עם התראות והתראות קריטיות), זיכרון, דיסק והפעלות.
בעת קידוח למטה, לוח המחוונים של המגמה של אמופע מסד נתונים ספציפי מציג בפורמט גרפי את סך זמני ההמתנה (או את בחירת זמני ההמתנה הממוצע או הטיפוסי ליום) למשתמשים במהלך חודש. בגרף זה, כל צבע מייצג הצהרת SQL נפרדת, ומעניק לך ייצוג מושך חזותית של איזה משפט לוקח את הארוך ביותר להפעלה.
אמנם מוצר זה אינו שאילתת SQL אמיתיתכלי מיטוב, חלק מהפונקציות שלה יכולות לעזור לך בכך. לדוגמה, הוא יכול לפקח ולמדוד את זמן ביצוע השאילתה והוא גם יספק כמה עצות לכוונון אם כי הוא נוטה להיות קשור לתצורת בסיס הנתונים ולא לקוד השאילתה.
המחיר עבור מנתח ביצועים של מסדי נתונים של SolarWinds מתחיל ב -1 995 $ ומשתנה בהתאם למספר וסוג מופעי מסד הנתונים לפיקוח. אם תרצה לתת למוצר ריצת מבחן לפני שתרכוש אותו, זמינה גרסת ניסיון בת 14 יום מלאה.
2. מקלט שאילתת SQL עבור מנהל אבחון SQL
ה מנהל אבחון SQL הוא אחד מכלי הניטור המובילים בבסיס הנתונים. אבל כשמשלימים את זה עם מקלט שאילתת SQL, מה שאתה מקבל הוא אחת משאילתות SQL הטובות ביותרכלי אופטימיזציה. היתרונות שלו הם רבים. זה מזהה שאילתות SQL בעייתיות באמצעות פרופיל בסיס נתונים של ניתוח זמן המתנה. זה יכול גם לתת לך המלצות כוונון שנוצרו אוטומטית באמצעות אשף הכוונון לשאילתת SQL. הכלי יאמת את ביצועי שאילתות SQL באמצעות בדיקות עומס בסביבות ייצור מדומות.
ה מקלט שאילתת SQL יזהה במהירות ובקלות שאילתות SQL כילגרום לביצועים לא טובים של מסד נתונים באמצעות פרופיל בסיס נתונים ולהציג הדמיה גרפית של ניתוח זמן המתנה. זה יפקח על מקור נתונים שלם בטווח זמן הניתן להגדרה באמצעות פרופיל רציף. כתוצאה מכך, תקבל הבנה טובה יותר של האופן שבו SQL Server מתכנן לבצע שאילתות SQL ואת עלויות הביצועים השונות.

כלי זה יציג שנוצר אוטומטיתהציעו פתרונות באמצעות אשף הכוונון של שאילתות SQL המספקים הקשר חיוני לכוונון שאילתות SQL. הוא כולל ניתוח אינדקס מקודד צבע של אינדקסים משומשים, לא משומשים וחסרים עם המלצות לביצועים מיטביים. ניתן ליצור מקרים אפשריים ולמצוא את החלופה הטובה ביותר להצהרת SQL נתונה על ידי הכללת שכתוב של שאילתות SQL והזרקות רמז.
ה מקלט שאילתת SQL כולל דיאגרמות כוונון חזותיות ייחודיות של SQL לשאילתותמה שמאפשר לך להבין את ההשפעה של הצהרות SQL על בסיס הנתונים באמצעות דיאגרמות במקום בתוכניות ביצוע מורכבות. אינדקסים ואילוצים על טבלאות ותצוגות מוצגים עם נתונים סטטיסטיים של טבלאות, וההצטרפות המשמשות בהצהרת SQL (כגון חיבורי קרטזיאן, חיבורים קרטזיאיים משתמעים ויחסים רבים-לרבים) עם התרשימים.
ודא את הביצועים של קיימים ו-שאילתות SQL חלופיות כנגד בסיס הנתונים באמצעות בדיקות עומס. קבע את התצורה של שאילתות SQL להפעלת מספר פעמים במקביל וכדי לראות כיצד הם מגיבים לסביבות ייצור מדומות ללא סיכון של בדיקה בפועל בייצור. באמצעות כלי זה אתה יכול לכוונן שאילתות SQL עם ביצועים גרועים עבור SQL Server מממשק אינטואיטיבי.
ה מקלט שאילתת SQL הוא תוסף ל- מנהל אבחון SQL. אין ברשותך כבר מוצר זה, ניתן לרכוש את שניהם יחד כ- SQL Diagnostic Manager Pro תמורת 2 156 דולר לרישיון ניתן להשיג תקופת ניסיון של 14 יום ללא תשלום אשראי ללא כרטיס אשראי מספקית המוצר.
3. סטודיו לניהול שרת SQL
אם שרת מסד הנתונים שלך הוא שרת SQL של מיקרוסופט, אולי הכלי של מיקרוסופט, סטודיו לניהול שרת SQL (SSMS), זה כל מה שאתה צריך. כידוע, הכלי - אשר הושק לראשונה עם Microsoft SQL Server 2005 - משמש לתצורה, ניהול ומנהל של כל הרכיבים בתוך Microsoft SQL Server. זה כולל גם עורכי תסריטים וכלים גרפיים העובדים עם אובייקטים ותכונות של ההגשה. מה שאתה אולי לא יודע זה שאחד הכלים של SSMS, זה יועץ לכוונון מנועי מסד נתונים של SQL Server (DTA) ניתן להשתמש באופטימיזציה של שאילתות SQL.

המטרה העיקרית של ה- DTA היא ניתוח מסדי נתוניםומתן המלצות. על פי התיעוד הרשמי של מיקרוסופט, הכלי יכול לעזור לך לפתור את הביצועים של שאילתת בעיה ספציפית, לכוונן קבוצה גדולה של שאילתות במסד נתונים אחד או יותר, לבצע ניתוח בדיקות מה-אם שינויים פוטנציאליים בעיצוב פיזי ולנהל שטח אחסון.
אחד הדברים הכי טובים ב סטודיו לניהול שרת SQL זה מחירו. זהו כלי חינמי של מיקרוסופט בו תוכלו להשתמש לניהול לא רק של SQL Server אלא גם של Azure SQL Database. זה אולי לא הכלי הידידותי למשתמש שיש שם, אבל בהתחשב במחיר שלו, אולי כדאי יהיה להסתכל עליו.
4. EverSQL
EverSQL מעניין שכן זהו אחד מכמה כלי אופטימיזציה מקוונים של SQL. מנהלי מערכת יכולים להשתמש בכלי זה כדי לקבל המלצות על כוונון השאילתה והצעות לשיפור האינדקס. תמיכה במאגר נתונים ב EverSQL הוא מוגבל במקצת. עם זאת, הוא תומך במנועי מסד נתונים עם קוד פתוח וחינמי הפופולרי ביותר הכוללים MSSQL, Oracle, MySQL, MariaDB ו- PerconaDB. למעשה, מכיוון שמדובר בכלי לא מקוון שאין לו קשר למסד הנתונים שלך, הוא יכול, באופן תיאורטי, לבצע אופטימיזציה לשאילתת SQL אך הוא יעשה עבודה טובה יותר אם הוא יודע איזה סוג של מנוע בסיס נתונים יעבד את השאילתה המותאמת.

השימוש בכלי הוא סופר פשוט. אתה מתחבר לאתר, בחר את סוג מסד הנתונים ואת גרסתך והדבק את קוד שאילתת SQL. כדי לקבל המלצות לאינדקס ולאפשר לכלי ליישם טרנספורמציות שאילתה מתקדמות, באפשרותך להעלות את מבנה הסכימה של מסד הנתונים שלך. אתה לוחץ על "הבא" ותוך שניות אתה מקבל את הגרסה המותאמת ביותר לשאילתה שלך יחד עם כמה המלצות לאינדקס.
EverSQL אך לא רק מיטוב שאילתות. כמו כן מוצעים כמה כלים מקוונים חינם ושימושיים אחרים. יש, למשל, תחביר בדיקה ותוקף של SQL Query, Minifier Query עבור הצהרות SQL ומעצב שאילתות.
מבנה התמחור של EverSQL זה פשוט. יש לך אפשרות לבחור בתוכנית חינמית שמאפשרת לך אופטימיזציה אחת לשאילתות בחינם ליום למשך 30 יום. זו תוכנית המשפט. בשלב הבא יש לך את התוכנית הבסיסית במחיר של 29 $ לחודש הכולל 10 אופטימיזציות חודשיות ותוכנית הפלוס במחיר של $ 135 לחודש עם 30 אופטימיזציות לחודש ותמיכה בצ'אט חי. ניתן לתאם גם תוכניות בהתאמה אישית כדי לענות על הצרכים הספציפיים שלך.
5. SentryOne תוכנית סייר
תכנן אקספלורר הוא כלי חינמי מ- SentryOne. זהו אחד מהניתוחים הטובים ביותר לשאילתת SQL ו-כלי אופטימיזציה. כלי זה יכול לעזור לך להגיע במהירות לשורש הבעיות הקשות ביותר בשאילתת SQL Server. זה עשוי מכמה מודולים. ניתוח האינדקס משתמש באלגוריתמי ניקוד כדי לעזור לך לקבוע את האינדקס הטוב ביותר לתמיכה בשאילתה נתונה. אתה יכול להציג אינדקסים מומלצים בקלות, ליצור ולשנות אינדקסים ולאתר ולעדכן סטטיסטיקות ישנות.
מודול ניתוח הסטטיסטיקות מראה לך אתההשפעה של פרמטרי שאילתה מורכבים וזמן ריצה על הביצועים. זה מאפשר לך לאתר במהירות את השינוי בנתונים שיכולים לתרום לסוגי ריחפת פרמטרים, לדמיין בעיות פוטנציאליות שעולות במעלה ולזהות הזדמנויות לאינדקסים מסוננים.

ביצועי השאילתה פרופיל והשמעההמודול ישוב לשאילתות ויגשת לסטטיסטיקה של הביצועים החיים שלהם. בעזרת כלי זה תוכלו להפעיל את פרופיל השאילתה כדי לראות בדיוק אילו מפעילים מוסיפים את העומס הרב ביותר על משאבי המערכת. אין צורך להריץ את השאילתה שוב.
בעוד שרוב מיטבי שאילתות SQL משתמשים בעלות תוכנית משוערת, תכנן אקספלורר יכול להציג את העלויות שנצפו בפועל. ותוכלו לראות את הפרש העלויות על ידי החלפת התצוגה בין הערכה למעשה. יש יותר תכונות לכלי החינמי הזה מכפי שיש לנו זמן להציג אותן. אבל מכיוון שזה כלי חינמי, אולי תרצה לנסות ולראות בעצמך.
6. סטודיו dbForge לשרת SQL
אווארטזה סטודיו dbForge לשרת SQL הוא כלי GUI של שרת SQL של כל אחד יכול להיותמשמש לניהול SQL Server, ניהול, פיתוח, דיווח נתונים, ניתוח, אופטימיזציה ועוד. מפתחי SQL ומנהלי מסדי נתונים יכולים להשתמש בכלי ה- GUI כדי להאיץ כמעט כל משימות מסדי נתונים מורכבות כמו עיצוב מסדי נתונים, כתיבת קוד SQL, השוואה בין מסדי נתונים, סנכרון סכמות ונתונים, יצירת נתוני מבחן משמעותיים, בין היתר.

סטודיו dbForge לשרת SQL כולל את כלי לתוכנית שאילתת SQL, כלי ייעול שאילתות ייעודי. תכונת תרשים ההוצאה לפועל שלה מסייעת לדמיין ולהתאים את תוכנית ביצוע השאילתה על ידי איתור הצמתים המבוצעים באטיות. הכרטיסייה סטטיסטיקת המתן של הכלי מאפשרת לך לאתר בקלות צווארי בקבוק פוטנציאליים בשאילתה שלך על ידי הצגת רשימת אירועים והמתנות הקשורות אליהם. Yo עשוי גם להשתמש בעץ התוכנית של הכלי כדי לקבל מידע על האופן שבו שרת SQL מבצע הצהרת SELECT. זה יראה לך היכן הוספת אינדקס לטבלה או אופטימיזציה של הצטרפות לטבלה, למשל, עשויה להגדיל את הביצועים.
הכלי, הידוע גם בשם פרופיל T-SQL Query, מובנה בתקן, מקצועי וגרסאות ארגוניות של סטודיו dbForge לשרת SQL במחיר של $ 249.95, $ 499.95 ו- $ 699.95 בהתאמה. ניתן לקבל בחינם ניסיון של 30 יום לכל המוצר - ולא רק לכלי מיטוב השאילתה.
הערות