DSE е прост и суров начин на не изпълнение на SQL заявки в последователност, но кеширане стойности до определен максимум стойност е изпълнено, и след това да ги изпълни с помощта на executemany-метод. Резултатът може да бъде огромни печалби на скоростта.
DSE е тествана само на SQLite3 но които се използват в Django, както добре.
<Силен> Пример ползване:
внос sqlite3 # за тестови цели
от DSE внос DelayedSqlExecutor
Кон = sqlite3.connect (": памет:")
курсора = conn.cursor ()
cursor.execute ("Създаване на таблица filedata (ID ЦЯЛО първичен ключ, filepath текстови, името на файла текст, размер на файла ЦЯЛО)")
г = DelayedSqlExecutor (курсора, paramtoken = '?') # помощта на? paramtoken тук за sqlite3. Оставете празно и it`ll използвате% и като подкрепа от Django т.н.
d.addObject ("filedata", ("ID", "filepath", "името на файла", "Размер на файла"))
защото в диапазон (0, 999):
& Nbsp; & Nbsp; & Nbsp; # Добавяйки някои фиктивни данни. Забележете липсата на ID-област. Това ще накара вложки.
& Nbsp; & Nbsp; & Nbsp; #Adding ID-област ще бъде задействана от актуализация на данните все още не в ПБ
& Nbsp; & Nbsp; & Nbsp; d.addItem ("filedata", {'filepath ":" / TMP / "," името на файла ":" тест% s.txt "% I," Размер ": Аз})
# Не SQL още не са изпълнени, определеният лимит е 1000 къса
# Добавяне на друга позиция ще предизвика изпълнението на SQLs и нулиране на г-модел
d.addItem ("filedata", {'filepath ":" / TMP / "," името на файла ":" тест% s.txt "% I," Размер ": Аз})
# Добавяне на някои записи за актуализиране
d.addItem ("filedata", {"ID": 1, "filepath": "/ TMP /", "името на файла": "testmore% s.txt"% I, "Размер": 100})
# Обажда тясно ще изпълни всички оставащи SQLs
d.close ()
# Може да се наложи да се обадя извършване на курсора към извършване на данните. Зависи от това как сте настроили на курсора / връзката
Какво ново в тази версия:.
- обратна съвместимост с Django 1.3 .x. Благодарение на John Спрей за това.
Какво ново във версия 3.2.0:
- Patch от andornaut@gmail.com да бъде съвместим с Django 1.4.0. Patch от Herve Cauwelier да осигури подкрепа за модели с нестопанска autokey първичните полета.
Какво ново във версия 3.1.0:
- Patch от rassminus; Променена създаване на SQL да цитирам всички позовавания на етикетите името на таблица и колона.
Какво ново във версия 3.0.0 Beta 2:
- Фиксирана няколко неща, отчетени от Fido Garcia .
Какво ново във версия 3.0.0 Beta 1:
- Промени в синтаксиса, който не е съвместим Следователно версия бум. Това и хубав метод bulk_update.
- В добавка и изпълнява методи са били отстранени.
- закърпи модели вече имат свойство забавено вместо DSE. Можете също така да закърпи конкретни модели (нови в 2.1.0).
- За поставяне model.delayed.insert елемент повикване (стойности)
- За да актуализирате model.delayed.update елемент повикване (стойности)
- За да изтриете model.delayed.delete елемент повикване (ID)
- Ако трябва да се актуализира огромен набор от данни, където стойностите на полетата са ограничени, можете да използвате новата model.delayed.bulk_update (стойности), например метаданни от снимките и музикалните си файлове. Благодарение на Cal Leeming [Simplicity Media Ltd] за вдъхновение за това:-). За повече информация погледнете по-надолу за по-пълна репетиция за това, което стане това зад кулисите.
Какво ново във версия 2.1.0:
- Small климата; dse.patch_models сега може да се запишете в списъка на моделите, за да закърпи, като толкова dse.patch_models (specific_models = [User, коментар]).
Какво ново във версия 2.0.0:.
- Актуализирани документи и примери
Какво ново във версия 2.0.0 RC1:
- Без промяна в кода, сега освободен с помощта на модифициран лиценз BSD да бъде по-съвместим с употребата лиценз Django.
Какво ново във версия 1.0.2 / 2.0.0 Beta 9:
- Добавено FileExport класа да облекчи отстраняване на грешки, което се обработват по време на изпитването. Пише SQL-данни към файл. Вижте източник / testsuite за ползване.
<силни> Изисквания :
- Python
Коментари не е намерена