6 הכלים הטובים ביותר לאופטימיזציה של שאילתות SQL בשנת 2020

click fraud protection

נתונים זה הכל, וכתוצאה מכך, SQL נמצא בכל מקום. שפת השאילתות המובנית הפכה לשפת השאילתות הנפוצה ביותר והיא נתמכת על ידי רוב המערכות המודרניות לניהול מסדי נתונים יחסיים. למעשה, השימוש בו נפוץ עד כדי כך שאנו מתייחסים לרוב לשרתי מסדי נתונים כשרתי SQL.

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

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

instagram viewer

אופטימיזציה של שאילתות בשרתי SQL

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

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

מאפיינים עיקריים של כלי אופטימיזציה של שאילתות SQL

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

כוונון SQL בסיסי

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

תמיכה במנועי מסד נתונים

רוב הכלים יתמכו לפחות במנועי מסד הנתונים הנפוצים ביותר כגון Microsoft SQL, Oracle, MySQL, PostgreSQL ו-MariaDB. אחרים יתמכו במבחר רחב יותר ואחרים עדיין יתמכו רק באחד. חשוב לבחור כלי שיכול לתמוך בכל המנועים שבהם אתה משתמש,

תמיכה במסד נתונים מבוססי ענן

חלק מכלי אופטימיזציה של שאילתות SQL מסוגלים לנתח ולבצע אופטימיזציה של מסדי נתונים המתארחים בענן כגון Microsoft SQL Azure או AWS RDS. התמיכה בענן משתנה מאוד מכלי לכלי. שוב, חשוב לבחור אחד שתומך במה שיש לך. שים לב שרוב הכלים התומכים במסדי נתונים בענן יתמכו גם באלה המקומיים.

הכלים והתוכנות הטובות ביותר לאופטימיזציה של שאילתות SQL

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

המוצר הראשון שלנו הוא מבית SolarWinds, חברה שנהנתה ממוניטין מצוין לייצור כמה מכלי ניהול הרשת והמערכות הטובים ביותר במשך עשרים שנות קיומה. מוצר הדגל שלה בשם SolarWinds Network Performance Monitor נתפס בעיני רבים כאחת מתוכנות ניטור רוחב הפס ברשת הטובות ביותר. חלק מהתהילה של SolarWinds מגיעה גם מהכלים החינמיים הרבים שהיא מציעה. הם כלים קטנים יותר, שכל אחד מהם מתייחס למשימה מסוימת של מנהלי רשת. שתי דוגמאות מצוינות לכלים אלו הן מחשבון המשנה המתקדם ושרת ה-Kiwi Syslog.

עבור אופטימיזציה של SQL Query, מה שאתה צריך, עם זאת, הוא מנתח ביצועי מסד נתונים של SolarWinds (DPA), כלי לניהול מסד נתונים שנבנה לניטור, ניתוח וכוונון של ביצועי שאילתות SQL. הוא מנטר ומנתח את מופעי מסד הנתונים של SQL שלך, ובאמצעות שיטת ניתוח זמן תגובה אשר שמה את הפוקוס העיקרי על הזמן בין בקשות שאילתה לבין התגובה המתאימה ממסד הנתונים, מנתח סוגי המתנה ואירועים כדי לאתר את צווארי הבקבוק של מסדי נתונים.

מנתח ביצועי מסד נתונים של SolarWinds
  • ניסיון חינם: מנתח ביצועי מסד נתונים של SolarWinds
  • קישור להורדה:https://www.solarwinds.com/database-performance-analyzer

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

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

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

המחיר עבור ה מנתח ביצועי מסד נתונים של SolarWinds מתחיל ב-$1,995 ומשתנה בהתאם למספר וסוג מופעי מסד הנתונים שיש לנטר. אם תרצו להפעיל את המוצר לפני רכישתו, זמינה גרסת ניסיון פונקציונלית מלאה ל-14 יום.

2. SQL Query Tuner עבור SQL Diagnostic Manager

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

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

צילום מסך של SQL Query Tuner

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

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

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

ה מכוון שאילתות SQL הוא תוספת ל- מנהל אבחון SQL. אם עדיין אין לך מוצר זה, ניתן לרכוש את שניהם יחד כ- SQL Diagnostic Manager Pro תמורת 2,156 דולר לרישיון, ניסיון חינם, ללא צורך בכרטיס אשראי, למשך 14 יום זמין גם אצל ספק המוצר

3. סטודיו לניהול שרת SQL

אם שרת מסד הנתונים שלך הוא Microsoft SQL Server, אולי הכלי של מיקרוסופט עצמה, SQL Server Management Studio (SSMS), זה כל מה שאתה צריך. כפי שאתה ודאי יודע, הכלי - שהושק לראשונה עם Microsoft SQL Server 2005 - משמש להגדרה, ניהול וניהול של כל הרכיבים בתוך Microsoft SQL Server. הוא כולל גם עורכי סקריפטים וכלים גרפיים שעובדים עם אובייקטים ותכונות של השרת. מה שאתה אולי לא יודע הוא שאחד הכלים של SSMS, ה יועץ מנוע כוונון מסד נתונים של SQL Server (DTA) יכול לשמש עבור אופטימיזציה של שאילתות SQL.

צילום מסך של SQL Server Management Studio

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

אחד הדברים הכי טובים ב סטודיו לניהול שרת SQL הוא המחיר שלו. זהו כלי חינמי מבית Microsoft שבו אתה יכול להשתמש לניהול לא רק SQL Server אלא גם Azure SQL Database. זה אולי לא הכלי הכי ידידותי למשתמש בחוץ, אבל בהתחשב במחיר שלו, אולי שווה להסתכל עליו.

4. EverSQL

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

צילום מסך של EverSQL

השימוש בכלי הוא סופר פשוט. אתה מתחבר לאתר, בוחר את סוג מסד הנתונים והגרסה שלך ומדביק את קוד השאילתה של SQL. כדי לקבל המלצות לאינדקס וכדי לאפשר לכלי להחיל טרנספורמציות מתקדמות של שאילתות, באפשרותך להעלות את מבנה הסכימה של מסד הנתונים שלך. אתה לוחץ על "הבא" ובתוך שניות, אתה מקבל את הגרסה האופטימלית של השאילתה שלך יחד עם כמה המלצות לאינדקס.

EverSQL עם זאת, לא רק עושה אופטימיזציות של שאילתות. מוצעים גם כמה כלים מקוונים אחרים בחינם ושימושיים. יש, למשל, SQL Query Syntax Check & Validator, Query Miniifier עבור הצהרות SQL ו-Query Formatter.

מבנה התמחור של EverSQL זה פשוט. יש לך בחירה של תוכנית חינמית המעניקה לך אופטימיזציה אחת בחינם של שאילתה ליום למשך 30 יום. זו תוכנית הניסיון. לאחר מכן, יש לך את התוכנית הבסיסית ב-$29 לחודש הכוללת 10 אופטימיזציות חודשיות ואת תוכנית הפלוס ב-$135 לחודש עם 30 אופטימיזציות לחודש ותמיכה בצ'אט חי. ניתן גם לארגן תוכניות מותאמות אישית כדי לענות על הצרכים הספציפיים שלך.

5. SentryOne Plan Explorer

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

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

צילום מסך של Plan Explorer

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

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

6. dbForge Studio עבור SQL Server

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

סקירה כללית של ניהול dbForge Studio עבור SQL Server

dbForge Studio עבור שרת SQL כולל את כלי תוכנית שאילתות של SQL, כלי ייעודי לאופטימיזציה של שאילתות. תכונת התרשים של תוכנית הביצוע שלו עוזרת להמחיש ולכוון את תוכנית ביצוע השאילתות על ידי איתור הצמתים האיטיים לביצוע. הכרטיסייה Wait Stats של הכלי מאפשרת לך לזהות בקלות צווארי בקבוק פוטנציאליים בשאילתה שלך על ידי הצגת רשימה של אירועים והמתנה הקשורים אליהם. אתה יכול גם להשתמש בעץ התכניות של הכלי כדי לקבל מידע על האופן שבו שרת SQL מבצע משפט SELECT. זה יראה לך היכן הוספת אינדקס לטבלה או אופטימיזציה של הצטרפות לטבלה, למשל, יכולה להגביר את הביצועים.

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

watch instagram story