Sql db tốc độ xử lý bao nhiêu bản ghi
Trong JDBC của lập trình java, mỗi lần bạn thực hiện insert, update, delete hoặc
select, ứng dụng sẽ kết nối tới cơ sở dữ liệu một lần. Giả sử, bạn cần insert 1 triệu bản ghi vào database. Theo cách thông thường, chúng ta thực hiện insert 1 triệu lần thì sẽ phải kết nối tới database 1 triệu lần để thao tác với database sẽ tốn rất nhiều thời gian Khi đó Ý tưởng dùng Batch (xử lý theo mẻ), tức là chúng ta sẽ kết nối 1 lần nhưng insert 100.000 bản ghi cùng lúc như vậy sẽ tiết kiệm được thời gian của 999.990 kết nối tới database. Khi dùng batch xảy ra 1 vấn đề đó là nếu bạn insert 1 lần 100.000 bản ghi thì sẽ tốn rất nhiều bộ nhớ, nếu số lượng bản ghi nhiều hơn có thể hệ thống sẽ bị quá tải. Các bạn có thể chia nhỏ ra, ví dụ mỗi lần kết nối tới database sẽ insert 10.000 bản ghi (con số 10.000 gọi là batch size) như thế vừa đảm bảo tốc độ, vừa đảm bảo bộ nhớ. Sau đây tôi sẽ hướng dẫn viết code để giúp các bạn học lập trình java xử lý đẩy dữ liệu lớn đọc được từ file vào
MySQL. Đầu tiên bạn có thể sử dụng lập trình để tạo một file chứa dữ liệu 1 triệu thông tin như ví dụ này là file tuyển sinh như hình dưới hoặc tải trực tiếp file: tại đây. Trong từng dòng thông tin được ngăn cách với nhau bằng dấu ; như hình dưới: Thiết kế cơ sở dữ liệu trong với bảng dữ liệu TuyenSinh với cấu trúc như sau: Sau đây là code xử lý để đọc file và đưa vào MySQL:
============================= |