Můžete udělat něco mnohem jednoduššího, co bude také podstatně rychlejší. Všimněte si, že tento přístup funguje pouze v případě, že jste schopni uložit celý obsah souboru do souvislé paměti a aktuální pevný limit je 1 GB, i když máte k dispozici mnoho terabajtů RAM!
cursor.execute("insert into t (id, b) values (:my_id, :my_blob)",
(1, mem_file.getvalue())
Vložení hodnoty empty_blob() a vrácení lokátoru LOB pro pozdější aktualizaci je rychlejší než vytvoření dočasného LOB a jeho vložení (jak to děláte ve svém kódu), ale přímé vložení dat je ještě rychlejší!