![]() |
mysql הרבה insert or update
כל יום אני צריך להריץ כמות גדולה של insert or update, הכוונה היא שאם הId קיים תעשה update ואם לא אז insert.
id הוא שדה מסוג text ולכן on duplicate לא עובד. יש פה בעצם 2 סוגיות: 1. איך לבצע את הupsert. 2. איך לעשות את זה בכמות גדולה (bulk). הטבלה מסוג innodb. תודה! |
קודם כל, למה הID מוגדר כטקסט?(למה לא CHAR/VARCHAR)?
אני מניח שאתה מבצע הרבה פעולות לפי הID וזה ממש אבל ממש לא יעיל. אם אתה צריך לעדכן חלקים גדולים מהטבלה שכוללים עדכון אינדקסים לפעמים עדיף לבטל את האינדקסים, לבצע את הפעולות ולהחזיר אותם. |
צודק אני אשנה לvarchar
|
אז אתה משנה לVARCHAR ומגדיר את השדה כפריימרי?
|
כן.
בפורום אחר מישהו ייעץ לי לעשות שאילתות select וכך לחלק את השאילתות שלי לupdate וinsert. נראלי שon duplicate יותר יעיל. אני צודק? |
בגדול כן,
אם תשתף אותנו במבנה הטבלה ובאופי העדכונים נוכל לתת תשובות יותר נכונות |
כל הזמנים הם GMT +2. הזמן כעת הוא 19:09. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ