![]() |
# 1 |
חבר בקהילה
|
![]() כל יום אני צריך להריץ כמות גדולה של insert or update, הכוונה היא שאם הId קיים תעשה update ואם לא אז insert.
id הוא שדה מסוג text ולכן on duplicate לא עובד. יש פה בעצם 2 סוגיות: 1. איך לבצע את הupsert. 2. איך לעשות את זה בכמות גדולה (bulk). הטבלה מסוג innodb. תודה! |
![]() |
![]() |
# 2 |
משתמש - היכל התהילה
|
קודם כל, למה הID מוגדר כטקסט?(למה לא CHAR/VARCHAR)?
אני מניח שאתה מבצע הרבה פעולות לפי הID וזה ממש אבל ממש לא יעיל. אם אתה צריך לעדכן חלקים גדולים מהטבלה שכוללים עדכון אינדקסים לפעמים עדיף לבטל את האינדקסים, לבצע את הפעולות ולהחזיר אותם.
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
# 3 |
חבר בקהילה
|
צודק אני אשנה לvarchar
|
![]() |
![]() |
# 4 |
משתמש - היכל התהילה
|
אז אתה משנה לVARCHAR ומגדיר את השדה כפריימרי?
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
# 5 |
חבר בקהילה
|
כן.
בפורום אחר מישהו ייעץ לי לעשות שאילתות select וכך לחלק את השאילתות שלי לupdate וinsert. נראלי שon duplicate יותר יעיל. אני צודק? |
![]() |
![]() |
# 6 |
משתמש - היכל התהילה
|
בגדול כן,
אם תשתף אותנו במבנה הטבלה ובאופי העדכונים נוכל לתת תשובות יותר נכונות
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|