390
צפיות
צפיות
4
תשובות
תשובות
עניין של יעילות… שאלה
שלום 🙂
יש לי טבלה של קטגוריות….
המכילה שדה שבתוכו נמצאים כל ה IDים שאליהם קשורה הקטגוריה… המופרדים ע"י פסיקים, דוגמא:
21,13,2,50,51
על מנת להציג את כל הקטגוריות הקשורות לID שמספרו 2 לדוגמא, אז אני עושה את זה כך:
select * from cat where uids like '2,%' or uids like '%,2,%' or uids like '%,2' or uids='2'
עד כמה יעילה השיטה הזו במידה וישנם אלפי רשומות של קטגוריות ומאות ערכים של IDים בכל קטגוריה?
האם יש דרך יותר יעילה לעשות זאת? (גם עם שינוי מבנה הטבלה עצמה)
כלומר לקשר קטגוריה כלשהי למספר לא מוגבל של רשומות…
4 תשובות
עדיף לטעון את כל השדה לARRAY
ואז לחתוך אותו כשיש לך פסיק,
דוגמה:
CaT = Rs("CaT")
ArrayCaT= Split(CaT, ",")
for i=0 to ubound(ArrayCaT)
response.write ArrayCaT(i) &"<br>"
'here u can replace and add ur cat name
next
זה איטי מאד,,,
תעבוד כמפורט במדריך תכנון DB.
עדיף להשתמש ב IN….
תוכל לקרוא על האופרטור IN במדריך ה SQL באתר.
תודה לכולם.