はるかに簡単なことを行うことができますが、これもかなり高速になります。このアプローチは、ファイルの内容全体を連続したメモリに保存でき、現在のハード制限が1 GBの場合にのみ機能することに注意してください。これは、テラバイトのRAMが多数使用できる場合でも同様です。
cursor.execute("insert into t (id, b) values (:my_id, :my_blob)",
(1, mem_file.getvalue())
empty_blob()値を挿入し、後で更新するためにLOBロケーターを返すことは、一時LOBを作成して挿入するよりも高速です(コードで行っているように)が、データを直接挿入することはさらに高速です!