Có các kết nối liên tục không có nghĩa là tất cả các luồng sử dụng cùng một kết nối. Nó chỉ "nói" rằng bạn giữ kết nối mở (trái ngược với việc mở kết nối mỗi khi bạn cần). Mở kết nối là một thao tác tốn kém, vì vậy - nói chung - bạn cố gắng tránh mở kết nối thường xuyên hơn mức cần thiết.
Đây là lý do tại sao các ứng dụng đa luồng thường sử dụng các nhóm kết nối. Pool đảm nhận việc mở và đóng các kết nối và mọi luồng cần kết nối sẽ yêu cầu một kết nối từ pool. Điều quan trọng là phải đảm bảo rằng luồng trả kết nối càng sớm càng tốt về nhóm để một luồng khác có thể sử dụng nó.
Nếu ứng dụng của bạn chỉ có một vài luồng đang chạy dài cần kết nối, bạn cũng có thể mở một kết nối cho từng luồng và giữ cho nó luôn mở.
Chỉ sử dụng một kết nối (như bạn đã mô tả) là một nhóm kết nối có kích thước tối đa. Điều này sớm hay muộn sẽ là nút thắt cổ chai của bạn vì tất cả các luồng sẽ phải đợi kết nối. Đây có thể là một tùy chọn để tuần tự hóa các hoạt động cơ sở dữ liệu (thực hiện chúng theo một thứ tự nhất định), mặc dù có những tùy chọn tốt hơn để đảm bảo tuần tự hóa.