Bạn có thể làm điều gì đó đơn giản hơn nhiều, điều này cũng sẽ nhanh hơn đáng kể. Lưu ý rằng phương pháp này chỉ hoạt động khi bạn có khả năng lưu trữ toàn bộ nội dung tệp trong bộ nhớ liền kề và giới hạn cứng hiện tại là 1 GB, ngay cả khi bạn có nhiều terabyte RAM!
cursor.execute("insert into t (id, b) values (:my_id, :my_blob)",
(1, mem_file.getvalue())
Chèn giá trị void_blob () và trả về bộ định vị LOB để cập nhật sau nhanh hơn việc tạo LOB tạm thời và chèn nó (như bạn đang làm trong mã của mình) nhưng việc chèn dữ liệu trực tiếp thậm chí còn nhanh hơn!