Hi em, anh xin trả lời như sau:
Khi insert 1 list bàn ghi vào DB thì giữa việc sử dụng 1 luồng với batch insert và sử dụng multi thread của java để insert từng bản ghi một, cái nào sẽ có performance tốt hơn ạ ?
chắc chắn dùng batch tốt hơn em ạ, vì mỗi câu lệnh insert thường sẽ phải dùng câu lệnh SELECT 1
để kiểm tra có kết nối không với server, nên nó sẽ lâu hơn 1 chút, chưa kể việc insert thường sẽ phải đi song hành với transaction. Tuy nhiên trong nhiều ứng dụng để đảm bảo chắc chắn dữ liệu đã được ghi thành công vào cơ sở dữ liệu thì người ta vẫn insert từng cái 1, vì ghi theo batch thường là phải sử dụng 1 luồng riêng
Nếu insert cùng 1 lúc nhiều bản ghi như vậy vào cùng 1 table có id auto increase thì DB sẽ xử lý insert tuần tự ạ?
đúng như vậy em ạ
Nhớ là đừng quên sử dụng connection pool khi làm viêc với các sql server em nhé