עבור לתוכן

שיפור זמני הזנה בMYSQL

Featured Replies

פורסם

אני מכניס לסכמה מספר טבלאות. הארוכה שבהן מבחינת מספר רשומות היא באורך של כ225000 רשומות. הרשומות לא גדולות, משהו כמו 25 בתים לאחת. שתי העמודות של הטבלא הנ"ל הן FOREIGN KEYS. אני מפחד לעבור לMYISAM

האם זה שווה את זה.

פורסם

אתה מדבר על הזנה באופן חד פעמי של נתונים לצורך אתחול בסיס נתונים (לדוגמא) ?

אם כן לאחר כמה ניסיונות קשים גיליתי את הפקודה LOAD DATA (עדיף מקובץ מוכן) טען לי נתונים לתוך 8 טבלאות עם קרוב ל10 מיליון רשומות כולל מפתחות זרים באזור ה-4 שעות.

פורסם

טיפ לגבי הזנה של הרבה מידע באופן חד פעמי:

בטל את האינדקסים בכל הטבלאות והוסף אותם חזרה אחרי הוספת המידע.

פורסם
  • מחבר

Eviljelly - זמן של 4 שעות זה דומה למה שזה עשה עד כה. זה עשה את זה בכשעתיים וחצי עבור 6 מליון רשומות.

captaincaveman - ניסיתי את זה, אלא שהיצירה של הFOREIGN KEYS לקחה כמות מטורפת של זמן, כזו שלמעשה השוותה את הזמן לזמן המקורי.

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

פורסם

כל עוד אין לך בעיות עקביות במידע לא אמורה להיות בעיה (foreign key שלא קיים למשל)

פורסם
  • מחבר

זה אין.

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

תנאי מסוים מתקיים.

תודה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים