Limits Trong SQLite
"Limits" trong bối cảnh của bài viết này có nghĩa là kích thước hoặc số lượng mà không thể vượt qua. Chúng tôi quan tâm đến những thứ như số byte tối đa trong BLOB hoặc số lượng cột tối đa trong một bảng.
SQLite ban đầu được thiết kế với chính sách tránh giới hạn tùy ý. Tất nhiên, mọi chương trình chạy trên máy có bộ nhớ hữu hạn và dung lượng đĩa đều có giới hạn của một số loại. Nhưng trong SQLite, những giới hạn đó không được xác định rõ. Chính sách là nếu nó phù hợp với bộ nhớ và bạn có thể đếm nó với một số nguyên 32 bit, thì nó sẽ hoạt động.
Thật không may, chính sách không giới hạn đã được hiển thị để tạo sự cố. Bởi vì các giới hạn trên không được xác định rõ ràng, chúng không được thử nghiệm, và các lỗi (bao gồm khai thác an ninh có thể) thường được tìm thấy khi đẩy SQLite đến cực đoan. Vì lý do này, các phiên bản SQLite mới hơn có các giới hạn được xác định rõ ràng và các giới hạn đó được kiểm tra như một phần của bộ kiểm thử. Kể từ phiên bản 3.6.19 (tất cả các số liệu thống kê trong báo cáo chống lại việc phát hành SQLite), thư viện SQLite bao gồm xấp xỉ 65,7 KSLOC của mã C. (KSLOC có nghĩa là hàng ngàn "Nguồn dòng mã" hay nói cách khác là các dòng mã không bao gồm các dòng trống và các chú thích.) Khi so sánh, dự án có 690 lần mã thử nghiệm và các kịch bản thử nghiệm - 45409.7 KSLOC.
Bạn muốn lưu trữ bao nhiêu dữ liệu? – Mark