Tôi đang cố chèn một lượng lớn bản ghi (trong hàng triệu) vào cơ sở dữ liệu SQLite. Dữ liệu được đọc từ một luồng tệp (C++). Nếu tôi bắt đầu một giao dịch, thực hiện tất cả của các lần chèn và sau đó cam kết giao dịch, tôi chỉ nhận được một tỷ lệ rất nhỏ các bản ghi thực sự được chèn vào cơ sở dữ liệu của tôi.Số lượng hạn chế giao dịch SQLite?
Thứ được chèn vào có vẻ ngẫu nhiên - tôi không thể thấy bất kỳ mẫu nào được chèn vào và mẫu nào bị bỏ đi. Tuy nhiên, nếu tôi cam kết và sau đó bắt đầu giao dịch một lần nữa sau khi một cái gì đó như 2000 chèn, tôi không có vấn đề này và tất cả các hồ sơ được chèn vào, mặc dù quá trình này là nhiều hơn chậm hơn. Vì vậy ...
Có giới hạn nghiêm ngặt về số lần chèn có thể được thực hiện trong một giao dịch không? Có cách nào để thay đổi giới hạn này không?
Đã khắc phục sự cố này. Chỉ cần đăng bài này ở đây cho hậu thế. Nếu bạn gặp phải điều này, trước tiên, hãy thử xử lý các gói chỉ 1k-2k cho mỗi giao dịch để xem đây có thực sự là vấn đề hay không. –