dse ay isang simple at magaspang na paraan ng hindi pagpapatupad sa SQL query sa pagkakasunud-sunod, ngunit ang mga halaga caching hanggang sa isang naibigay na max na halaga ay nakamit at pagkatapos ay isakatuparan ang mga ito gamit ang executemany-pamamaraan. Ang resulta ay maaaring maging malaking mga nadagdag bilis.
dse ay lamang nasubok sa SQLite3 ngunit nilayon para sa paggamit sa Django pati na rin.
Halimbawa ng paggamit:
-import sqlite3 # para sa mga layuning pagsubok
mula sa pag-import dse DelayedSqlExecutor
conn = sqlite3.connect (': memory:')
cursor = conn.cursor ()
cursor.execute ('lumikha ng talahanayan filedata (id integer PANGUNAHIN KEY, filepath TEXT, filename TEXT, filesize integer)')
d = DelayedSqlExecutor (cursor, paramtoken = '?') # gamit ang? paramtoken dito para sa sqlite3. Iwanan itong blangko at it`ll gamitin ang% s bilang suporta sa pamamagitan ng Django atbp
d.addObject ('filedata', ('id', 'filepath', 'filename', 'filesize'))
para i sa hanay ng (0, 999):
& Nbsp; & nbsp; & nbsp; # Pagdaragdag ng ilang mga dummy data. Pansinin ang kawalan ng id na patlang. Ito ay magti-trigger pagsingit.
& Nbsp; & nbsp; & nbsp; #Adding Ang id-patlang na magpapalitaw ng isang update para sa data na hindi pa sa db
& Nbsp; & nbsp; & nbsp; d.addItem ('filedata', {'filepath': '/ tmp /', 'filename': 'test% s.txt'% i, 'filesize': i})
# Walang SQL pang pinaandar, ang default na limitasyon ay 1000 na mga bagay
# Pagdaragdag ng isa pang item ay magti-trigger sa pagpapatupad ng SQLs at i-reset ang d-halimbawa
d.addItem ('filedata', {'filepath': '/ tmp /', 'filename': 'test% s.txt'% i, 'filesize': i})
# Pagdaragdag ng ilang mga tala upang i-update
d.addItem ('filedata', {'id': 1, 'filepath': '/ tmp /', 'filename': 'testmore% s.txt'% i, 'filesize': 100})
# Pagtawag malapit na isagawa ang anumang natitirang SQLs
d.close ()
# Maaaring kailanganin mong tawagan ang gumawa sa cursor na gumawa ng data. Depende sa kung paano mo i-set up ang cursor / koneksyon
Ano ang bagong sa paglabas:.
- pabalik sa pagiging tugma sa Django 1.3 .x. Salamat sa John spray para sa isang ito.
Ano ang bagong sa bersyon 3.2.0:
- Patch mula andornaut@gmail.com upang magkasundo may Django 1.4.0. Patch mula Hervé Cauwelier upang magbigay ng suporta para sa mga modelo na may di-autokey pangunahing field.
Ano ang bagong sa bersyon 3.1.0:
- Patch mula rassminus; Binago ang paglikha ng SQL sa quote lahat ng mga sanggunian sa mga pangalan ng talahanayan at haligi label.
Ano ang bagong sa bersyon 3.0.0 Beta 2:
- Ang Nakatakdang ilang mga bagay na iniulat ng Fido Garcia .
Ano ang bagong sa bersyon 3.0.0 Beta 1:
- Pagbabago sa syntax na HINDI paurong katugmang , samakatuwid ang isang bersyon paga. Iyon at ang magaling na paraan bulk_update.
- Ang add at isagawa pamamaraan ay tinanggal.
- Patched mga modelo ay mayroon na ngayong isang ari-arian na tinatawag na naantala sa halip na dse. Maaari mo ring patch ang tukoy na mga modelo (bago sa 2.1.0).
- Upang magpasok ng model.delayed.insert item tawag (values)
- Upang i-update ng model.delayed.update item tawag (values)
- Upang tanggalin ang isang item model.delayed.delete tawag (id)
- Kung mayroon kang i-update ang isang malaking hanay ng data kung saan ang mga halaga para sa patlang ay limitado maaari mong gamitin ang bagong model.delayed.bulk_update (values), halimbawa metadata mula sa mga larawan o mga file ng musika. Salamat sa Cal Leeming [Ang pagiging simple Media Ltd] para sa inspirasyon sa isang ito:-). Para sa higit pang impormasyon tumingin sa mas ibaba pa para sa isang mas kumpletong walkthrough sa kung ano ang happends likod ng mga eksena.
Ano ang bagong sa bersyon 2.1.0:
- Maliit na pagbabago; dse.patch_models ay maaari na ngayong gumawa ng isang opsyonal na listahan ng mga modelo i-patch, tulad ng sa gayon dse.patch_models (specific_models = [User, Komento]).
Ano ang bagong sa bersyon 2.0.0:.
- Na-update doc at mga halimbawa
Ano ang bagong sa bersyon 2.0.0 RC1:
- Walang pagbabago sa code, inilabas ngayon gamit ang Binago ang BSD lisensya upang maging mas tugma sa paggamit ng lisensya Django.
Ano ang bagong sa bersyon 1.0.2 / 2.0.0 Beta 9:
- Added FileExport-class na upang mabawasan ang pag-debug kung ano ay naproseso sa panahon ng pagsubok. Nagsusulat SQL-data sa file na ito. Tingnan ang pinagmulan / testsuite para sa paggamit.
Mga Kinakailangan :
- Python
Mga Komento hindi natagpuan