DSE je jednoduchý a surový způsob není provádění SQL dotazů v sekvenci, ale mezipaměti hodnoty, dokud není splněna daná maximální hodnotu a potom spustit je pomocí executemany-metody. Výsledkem může být velké nárůst rychlosti.
DSE byl testován pouze na sqlite3 ale určen pro použití v Django stejně.
Příklad použití:
import sqlite3 # pro účely testování
z DSE dovozu DelayedSqlExecutor
Conn = sqlite3.connect (': paměť:')
kurzor = conn.cursor ()
cursor.execute ("create table fileData (id INTEGER PRIMARY KEY, filepath TEXT, TEXT filename, velikost souboru INTEGER)")
d = DelayedSqlExecutor (kurzor, paramtoken = '?') # použití? paramtoken zde sqlite3. Nech to prázdné a it`ll použití% s jako podpora Django atd
d.addObject ("fileData", ("id", "cesta k souboru", "název souboru", "velikost souboru"))
pro i v rozsahu (0, 999):
& Nbsp; & nbsp; & nbsp; # Přidáním některých fiktivní údaje. Všimněte si, že neexistuje id-pole. To povede k zahájení vložek.
& Nbsp; & nbsp; & nbsp; #Adding ID-pole vyvolal aktualizaci dat, ale ne v db
& Nbsp; & nbsp; & nbsp; d.addItem ("fileData", {"filepath ':' / tmp / ',' filename ':' zkouška% s.txt"% i, "velikost souboru": i})
# No SQL byl ještě proveden, výchozí limit je 1000 položek
# Přidání další položku spustí provádění SQLs a resetovat d-instance
d.addItem ("fileData", {"filepath ':' / tmp / ',' filename ':' zkouška% s.txt"% i, "velikost souboru": i})
# Přidání některé záznamy aktualizovat
d.addItem ("fileData", {"id": 1, "filepath ':' / tmp / ',' filename ':' testmore% s.txt"% i, "velikost souboru": 100})
# Volání v blízkosti je bude provádět veškeré zbývající SQLs
d.close ()
# Můžete být třeba volat spáchat na kurzor, aby se zavázaly dat. Záleží na tom, jak nastavit kurzor / připojení
Co je nového v této verzi:.
- Zpětná kompatibilita s Django 1.3 .x. Díky John sprej pro tento jeden.
Co je nového ve verzi 3.2.0:
- Patch z andornaut@gmail.com, aby byly kompatibilní s Django 1.4.0. Patch z Herve Cauwelier poskytovat podporu pro modely s non-autokey základní obory.
Co je nového ve verzi 3.1.0:
- Patch z rassminus; Změněna tvorba sql citovat všechny odkazy na etiketách název tabulky a sloupců.
Co je nového ve verzi 3.0.0 Beta 2:
- Pevná několik věcí, které vykazují Fido Garcia .
Co je nového ve verzi 3.0.0 Beta 1:
- Změny v syntaxi, která není zpětně kompatibilní , tedy verze rána. To a příjemný způsob bulk_update.
- add a spouštět metody byly odstraněny.
- opravené modely mají nyní vlastnost s názvem opožděný místo DSE. Můžete také opravit konkrétní modely (nové v 2.1.0).
- Chcete-li vložit položku volání model.delayed.insert (hodnoty)
- Chcete-li aktualizovat položka volání model.delayed.update (hodnoty)
- Chcete-li odstranit položku volání model.delayed.delete (ID)
- Máte-li aktualizovat obrovský soubor dat, kde jsou hodnoty v polích jsou omezeny můžete použít nový model.delayed.bulk_update (hodnoty), pro metadata například z fotografií nebo hudebních souborů. Díky Cal Leeming [Simplicity Media Ltd] pro inspiraci na tohle:-). Pro více informací hledat dál pro více kompletní rekapitulaci o tom, co happends zákulisí.
Co je nového ve verzi 2.1.0:
- Malé změny; dse.patch_models mohou nyní využít volitelný seznam modelů, na opravu, tak jako dse.patch_models (specific_models = [User, Komentář]).
Co je nového ve verzi 2.0.0:.
- Aktualizované dokumenty a příklady,
Co je nového ve verzi 2.0.0 RC1:
- žádná změna v kódu, nyní uvolnit pomocí modifikovaná BSD licence být více v souladu s licenčním použitím Django.
Co je nového ve verzi 1.0.2 / 2.0.0 Beta 9:
- Added FileExport třídy usnadnit ladění, co je zpracována v průběhu testování. Zapíše SQL data do souboru. Viz zdroj / TestSuite pro použití.
Požadavky na :
- Python
Komentáře nebyl nalezen