יעילות שאילתת SQL
-
אני רוצה לבדוק האם שדה מסויים הוא X או Y.
מה יותר יעיל?WHERE field = X OR field = yאו שעדיף
WHERE field IN (x,y)או שאין הבדל.
-
-
@clickone מדובר על שאילתה של אלפי רשומות.
מבדיקה שעשיתי ה OR ניצח. אבל בהפרשים קטנים.
עריכה: לא חושב שיש הבדל.
בדקתי אפילוWHERE field = xבלי Y. וזה לא היה יותר מהר.
-
בSQL תאורטית אין מקום למושג ביצועים של צורת מימוש, כי זו שפה דקלרטיבית שהמחוייבות שלה היא רק לתוצאה.
המנוע אמור לעשות את החישוב בצורה הטובה ביותר, והוא מעבד את השאילתה ואת מבנה הטבלאות המשתתפים בה לפני שהוא נוקט בדרך כל שהיא. ישנם ידיעות שהמשתמש יודע יותר טוב מהמנוע (אחרי הכל הוא מחשב מרובע) ואז הוא יכול להציל טעויות של המנוע.
לגבי נסיונות לראות מה בפועל קורה, זה קשה מאוד לעקוב - א. לפעמים זה נראה אקראי ב. זה שונה מגירסה לגירסה לא כל שכן מחברה לחברה.
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות