שאילתות SQL מצד שרת ביעילות - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאילתות SQL מצד שרת ביעילות


שריה 24

Recommended Posts

אתה צריך לכתוב אותן ביעילות כמובן, אך מומלץ להשתמש ב-STORED PROCEDURE.

אתה בעצם כותב את השאילתה במסד נתונים ומריץ אותה בצד שרת שלך.

למשל exec sp_showItems

במקום את השאילתה עצמה.

קישור לתוכן
שתף באתרים אחרים

1. אין יתרון ל Stored Procedure על פני פונקציה או סתם שאילתה מבחינת יעילות. זה בדיוק אותו דבר.

2. כל שאילתה ב Sql Server מתבצעת ב Server side.

3. SQL דינמי מגדיל אפשרות ל Sql Injection, לא ההיפך. לא הבנתי את ההמלצה הזאת.

4. אכן מומלץ לאנדקס בהתאם לשאילתה.

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

קישור לתוכן
שתף באתרים אחרים

שלום!

תודה לכולם :-)

מישהו אמר לי, שכדאי להשתמש ב - dataTable() של jquery

https://datatables.net/

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

(ואני מדבר על נתונים שנמצאים ב SQL SERVER)

תודה!

קישור לתוכן
שתף באתרים אחרים

למה שהעברת עיבור השאילתה לצד הלקוח בהכרח תשפר ביצועים? אולי הוא עובד על עגלה? או על פלאפון?

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

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

קישור לתוכן
שתף באתרים אחרים

1. אין יתרון ל Stored Procedure על פני פונקציה או סתם שאילתה מבחינת יעילות. זה בדיוק אותו דבר.

2. כל שאילתה ב Sql Server מתבצעת ב Server side.

3. SQL דינמי מגדיל אפשרות ל Sql Injection, לא ההיפך. לא הבנתי את ההמלצה הזאת.

4. אכן מומלץ לאנדקס בהתאם לשאילתה.

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

שימוש ב sql דינמי ב- Stored Procedure , עם שילוב פרמטרים והפעלה עם sp_executesql מונע Sql Injection

קישור לתוכן
שתף באתרים אחרים

הוא מונע, לעומת SQL דינמי בלי השיטות האלו.

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

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

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

אתה מדבר על דברים שאתה לא מבין בהם.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...