שריה 24 פורסם 2014 באפריל 13 Share פורסם 2014 באפריל 13 שלום!אני משתמש ב SQL SERVER, ואני מעוניין לדעת מהי הדרך הכי יעילה לבצע שאילתות, כך שהנתונים ייטענו במהירות? קישור לתוכן שתף באתרים אחרים More sharing options...
d30DK פורסם 2014 באפריל 13 Share פורסם 2014 באפריל 13 אתה צריך לכתוב אותן ביעילות כמובן, אך מומלץ להשתמש ב-STORED PROCEDURE.אתה בעצם כותב את השאילתה במסד נתונים ומריץ אותה בצד שרת שלך.למשל exec sp_showItemsבמקום את השאילתה עצמה. קישור לתוכן שתף באתרים אחרים More sharing options...
Elad87 פורסם 2014 באפריל 13 Share פורסם 2014 באפריל 13 אם מדובר על שאילתות ששולפות נתונים אז מומלץ לאנדקס (Index) את הטבלה בהתאם לשאילתא.בנוסף כדאי להשתמש ב Dynamic sql למנוע sql injection קישור לתוכן שתף באתרים אחרים More sharing options...
Ido.G פורסם 2014 באפריל 13 Share פורסם 2014 באפריל 13 1. אין יתרון ל Stored Procedure על פני פונקציה או סתם שאילתה מבחינת יעילות. זה בדיוק אותו דבר.2. כל שאילתה ב Sql Server מתבצעת ב Server side.3. SQL דינמי מגדיל אפשרות ל Sql Injection, לא ההיפך. לא הבנתי את ההמלצה הזאת.4. אכן מומלץ לאנדקס בהתאם לשאילתה.בקיצר, שריה 24, השאלה שלך היא משהו שאי אפשר לענות עליו. לתרחישים שונים יש פתרונות שונים. אם נתקלת בבעיה מסויימת, תפרט מהי ונשתדל לעזור. קישור לתוכן שתף באתרים אחרים More sharing options...
שריה 24 פורסם 2014 באפריל 13 מחבר Share פורסם 2014 באפריל 13 שלום!תודה לכולם :-)מישהו אמר לי, שכדאי להשתמש ב - dataTable() של jqueryhttps://datatables.net/שזה יכול לשפר ביצועים, ולהעביר את הביצועים והשאילתות לצד לקוח. האם זה נכון? או שזה לא יעיל?(ואני מדבר על נתונים שנמצאים ב SQL SERVER)תודה! קישור לתוכן שתף באתרים אחרים More sharing options...
Ido.G פורסם 2014 באפריל 14 Share פורסם 2014 באפריל 14 למה שהעברת עיבור השאילתה לצד הלקוח בהכרח תשפר ביצועים? אולי הוא עובד על עגלה? או על פלאפון?לגבי השאלה עצמה, אני לא יודע את התשובה ולא רוצה להכנס לדברים שאני לא מבין בהם.בכל מקרה, ההרגשה שלי היא שאתה סתם מנסה לקפוץ מעל הפופיק ולהתעסק בכוח עם דברים שאין צורך להתעסק בהם. משפרים ביצועים במקרים בהם יש בעית ביצועים. יש לך בעיה כזו? קישור לתוכן שתף באתרים אחרים More sharing options...
Elad87 פורסם 2014 באפריל 15 Share פורסם 2014 באפריל 15 1. אין יתרון ל Stored Procedure על פני פונקציה או סתם שאילתה מבחינת יעילות. זה בדיוק אותו דבר.2. כל שאילתה ב Sql Server מתבצעת ב Server side.3. SQL דינמי מגדיל אפשרות ל Sql Injection, לא ההיפך. לא הבנתי את ההמלצה הזאת.4. אכן מומלץ לאנדקס בהתאם לשאילתה.בקיצר, שריה 24, השאלה שלך היא משהו שאי אפשר לענות עליו. לתרחישים שונים יש פתרונות שונים. אם נתקלת בבעיה מסויימת, תפרט מהי ונשתדל לעזור.שימוש ב sql דינמי ב- Stored Procedure , עם שילוב פרמטרים והפעלה עם sp_executesql מונע Sql Injection קישור לתוכן שתף באתרים אחרים More sharing options...
Ido.G פורסם 2014 באפריל 15 Share פורסם 2014 באפריל 15 הוא מונע, לעומת SQL דינמי בלי השיטות האלו.לעומת זאת, אם אתה לא משתמש ב SQL דינמי בכלל, אתה בכלל לא פותח את האפשרויות האלו.דרך אגב, הנושא פה הוא על ביצועים. מהבחינה הזו, SQL דינמי יכול להוריד ביצועים כי ה Query analyzer לא מזהה שזו אותה שאילתה (זה תלוי, לפעמים זה לא יקרה). ההיפך (לשפר ביצועים) - בטח שהוא לא יכול.בשורה התחתונה, זו המלצת סרק. לא משתמשים ב SQL דינמי אלא אם כן יש צורך מאוד מפורש לעשות כן. נכון לכרגע, לא נראה שיש צורך כזה.אתה מדבר על דברים שאתה לא מבין בהם. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.