Du kan gøre noget meget enklere, som også vil være betydeligt hurtigere. Bemærk, at denne tilgang kun virker, når du er i stand til at gemme hele filindholdet i sammenhængende hukommelse, og den aktuelle hårde grænse er 1 GB, selvom du har mange terabyte RAM til rådighed!
cursor.execute("insert into t (id, b) values (:my_id, :my_blob)",
(1, mem_file.getvalue())
Det er hurtigere at indsætte en empty_blob()-værdi og returnere LOB-locatoren til senere opdatering end at oprette en midlertidig LOB og indsætte den (som du gør i din kode), men det er endnu hurtigere at indsætte dataene direkte!