הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   mysql הרבה insert or update (https://hosts.co.il/forums/showthread.php?t=101792)

GNS 31-12-12 09:21

mysql הרבה insert or update
 
כל יום אני צריך להריץ כמות גדולה של insert or update, הכוונה היא שאם הId קיים תעשה update ואם לא אז insert.
id הוא שדה מסוג text ולכן on duplicate לא עובד.

יש פה בעצם 2 סוגיות:
1. איך לבצע את הupsert.
2. איך לעשות את זה בכמות גדולה (bulk).

הטבלה מסוג innodb.

תודה!

בניה 31-12-12 13:14

קודם כל, למה הID מוגדר כטקסט?(למה לא CHAR/VARCHAR)?
אני מניח שאתה מבצע הרבה פעולות לפי הID וזה ממש אבל ממש לא יעיל.

אם אתה צריך לעדכן חלקים גדולים מהטבלה שכוללים עדכון אינדקסים לפעמים עדיף לבטל את האינדקסים, לבצע את הפעולות ולהחזיר אותם.

GNS 31-12-12 14:04

צודק אני אשנה לvarchar

בניה 31-12-12 16:00

אז אתה משנה לVARCHAR ומגדיר את השדה כפריימרי?

GNS 31-12-12 16:24

כן.

בפורום אחר מישהו ייעץ לי לעשות שאילתות select וכך לחלק את השאילתות שלי לupdate וinsert.

נראלי שon duplicate יותר יעיל.
אני צודק?

בניה 01-01-13 10:47

בגדול כן,
אם תשתף אותנו במבנה הטבלה ובאופי העדכונים נוכל לתת תשובות יותר נכונות


כל הזמנים הם GMT +2. הזמן כעת הוא 19:09.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ