DSE הוא דרך פשוטה וגסה של לא ביצוע שאילתות SQL ברצף, אבל ערכים במטמון עד ערך מרבי שניתן כבר נפגשו ולאחר מכן לבצע אותם באמצעות executemany-השיטה. התוצאה יכולה להיות רווחי מהירות עצומים.
DSE נבדק רק על SQLite3 אבל מיועד לשימוש ביחידה גם כן.
שימוש לדוגמא:
sqlite3 היבוא # למטרות בדיקה
מDelayedSqlExecutor יבוא DSE
conn = sqlite3.connect (': זיכרון:')
סמן = conn.cursor ()
cursor.execute ("ליצור filedata שולחן (id שלם המפתח הראשי, TEXT filepath, טקסט שם הקובץ, גודל קובץ שלם) ')
ד = DelayedSqlExecutor (סמן, paramtoken = '?') # באמצעות? paramtoken כאן לsqlite3. השאר אותו ריק ולהשתמש it`ll% s כתמיכה על ידי יחידת וכו '
d.addObject (, ('id' 'filedata', 'filepath', 'שם קובץ', 'גודל קובץ'))
לi בטווח (0, 999):
& Nbsp; & nbsp; & nbsp; # מוסיף כמה נתונים דמה. שים לב להעדרו של id-השדה. זו תנחה מוסיף.
& Nbsp; & nbsp; & nbsp; #Adding Id השדה יפעיל עדכון לנתוני עדיין לא בdb
& Nbsp; & nbsp; & nbsp; d.addItem ('filedata', {'filepath': "/ tmp /", "שם הקובץ": "מבחן% s.txt '% i,' גודל קובץ ': i})
# אין SQL בוצע עדיין, מגבלת ברירת המחדל היא 1000 פריטים
# הוספת פריט נוסף תפעיל את הוצאתו להורג של SQLs ולאפס את d-הדוגמא
d.addItem ('filedata', {'filepath': "/ tmp /", "שם הקובץ": "מבחן% s.txt '% i,' גודל קובץ ': i})
# הוספה כמה תקליטים לעדכן
d.addItem (, {'id': 1, 'filepath': "/ tmp /", "שם הקובץ": "testmore% s.txt '% i,' גודל קובץ ': 100}' filedata ')
# קורא קרוב יבצע כל SQLs שנותר
d.close ()
# ייתכן שיידרש לקרוא להתחייב על הסמן להתחייב נתונים. תלוי איך אתה מגדיר את הסמן / החיבור
מה חדש במהדורה זו:.
- תאימות לאחור עם Django 1.3 .x. תודה לג'ון תרסיס לזה.
מה חדש בגרסת 3.2.0:
- תיקון מandornaut@gmail.com להיות תואם עם Django 1.4.0. תיקון מHerve Cauwelier כדי לספק תמיכה לדגמים עם שדות ראשיים שאינם autokey.
מה חדש בגרסת 3.1.0:
- תיקון מrassminus; יצירת SQL השתנה לצטט כל אזכור של התוויות שם טבלה ועמודה.
מה חדש בגרסת 3.0.0 Beta 2:
- כמה דברים קבועים שדווחו על ידי Fido גרסיה .
מה חדש בגרסת 3.0.0 Beta 1:
- שינויים בתחביר שאינו תואם לאחור , ולכן גרסה להקפיץ. וששיטת bulk_update נחמדה.
מה חדש בגרסת 2.1.0:
- שינוי קטן; dse.patch_models יכול עכשיו לקחת רשימה אופציונלית של מודלים לתיקון, כמו כל כך dse.patch_models (specific_models = [משתמש, תגובה]).
מה חדש בגרסת 2.0.0:.
- מסמכים ודוגמאות עדכון
מה חדש בגרסת 2.0.0 RC1:
- אין שינוי בקוד, עכשיו שוחרר באמצעות רישיון BSD שונה כדי להיות תואם יותר עם שימוש ברישיונות Django.
מה חדש בגרסת 1.0.2 / 2.0.0 Beta 9:
- המוסף FileExport ברמה
כדי להקל על איתור באגים מה מעובד במהלך בדיקה. כותב SQL-נתונים לקובץ. ראה מקור / testsuite לשימוש.
דרישות :
- Python
תגובות לא נמצא