אשכול: שליפת כמה IDS
View Single Post
ישן 14-10-14, 22:38   # 1
MAORBARI
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Sep 2008
הודעות: 484

MAORBARI לא מחובר  

ציטוט:
נכתב במקור על ידי GNS צפה בהודעה
האמת שבstackoverflow נתנו לי את הפתרון:
קוד:
order by instr(',3,1,4,', ',' || id || ',')
וגם את זה:

קוד:
SELECT * FROM mytable WHERE id IN (3,1,4)
ORDER BY 
CASE 
WHEN id = 3 THEN 1
WHEN id = 1 THEN 2
WHEN id = 4 THEN 3
END
השאלה מה יהיה יותר מהיר - לבצע את המיון בשאילתה או בקוד (JAVA)?
האופציה הראשונה ממש נראית לי מתאימה לך, אתה יכול לבנות שאילתה דרך JAVA שתחליף פשוט את הערך של ',3,1,4,' לפי סדר משתנה ולפי נתונים משתנים, בסך הכל אתה יכול לעשות שאילתה יותר דינמית מאשר בשאילתא השניה. יתך מכך, עם נסיוני נוכחתי לדעת שבד"כ עדיף לעשות שאילתא מורכבת מאשר קוד צד שרת מורכב, לאמת יותר את המסד שאמור לדעת להתמודד עם שליפות כאלה באופן מהיר ויעיל מאשר שרת שישתמש בפונקציות רבות כדי להגיע לתוצאה די פשוטה.
לשיקולך, תמיד אפשר להחליף משאילתא לשרת ולהפך.
  Reply With Quote