12-05-2012, 01:50
|
|
|
חבר מתאריך: 12.05.12
הודעות: 1
|
|
היי,
קודם כל, עבודה עם מחרוזת לא בהכרח כבדה ל sql server. אין כלל כזה. זה תלוי מאוד ב data type ובפעולה עצמה שאתה עושה. כמובן שיש מקומות שמחרוזות מתאימות יותר ויש מקומות שפחות.
דבר שני, אם אתה רוצה לשלוח את כל הנתונים בפעם אחת מהאפליקציה אז אתה כן צריך לשלוח את זה כסטרינג.
בהנחה שהפילטר לא כולל עשרות אלפי רשומות אז אין סיבה טובה להשתמש ב temp table. מה שאתה צריך לעשות זה לשרשר את המחרוזת שאתה מקבל לשליפה מלאה, תשתמש בשביל זה ב sp_executesql (תקרא על זה ב books online).
אני אקדים ואומר שבגלל שאמרת שעם ה temp table המחיקה התבצעה לאט אז אני מניח שזה בגלל שהטבלה שאתה מוחק ממנה מכילה הרבה רשומות, ואז גם הפתרון שנתתי בפיסקה הקודמת לא יעזור. יש דרכים חכמות לייעל את זה והרבה בדיקות לעשות, אבל זה כבר אשכרה עבודה של dba. בכל מקרה, כנראה שלהוסיף index על העמודה של ה status בטבלה שממנה אתה מוחק את הנתונים יעיף את זה מהר.
בהצלחה
|