Trang web của tôi luôn sử dụng các kết nối liên tục, dựa trên sự hiểu biết của tôi về chúng không có lý do gì để không. Tại sao đóng kết nối khi nó có thể được tái sử dụng? Tôi có một trang web mà trong tổng số truy cập khoảng 7 cơ sở dữ liệu. Nó không phải là một trang web lưu lượng truy cập lớn, nhưng nó đủ lớn. Bạn nên sử dụng những gì liên tục, tôi có nên sử dụng chúng không?Liên tục và không liên tục - Tôi nên sử dụng loại nào?
Trả lời
Với kết nối liên tục:
- Bạn không thể xây dựng xử lý giao dịch một cách hiệu quả
- phiên người dùng không thể trên cùng một kết nối
- ứng dụng không thể mở rộng. Với thời gian bạn có thể cần mở rộng và yêu cầu quản lý/theo dõi các kết nối liên tục
- nếu tập lệnh vì bất kỳ lý do gì, không thể giải phóng khóa trên bảng, thì bất kỳ tập lệnh nào sau đây sẽ chặn vô thời hạn và một tập lệnh sẽ khởi động lại máy chủ db. Sử dụng giao dịch, khối giao dịch cũng sẽ chuyển sang tập lệnh tiếp theo (sử dụng cùng một kết nối) nếu thực thi tập lệnh kết thúc trước khi khối giao dịch hoàn tất, v.v.
Kết nối liên tục không mang lại bất kỳ điều gì bạn có thể thực hiện với kết nối không liên tục .
Sau đó, tại sao lại sử dụng chúng?
Lý do duy nhất có thể là hiệu suất, sử dụng chúng khi chi phí tạo liên kết tới Máy chủ SQL của bạn cao. Và điều này phụ thuộc vào nhiều yếu tố như:
- cơ sở dữ liệu kiểu
- liệu MySQL Server là trên cùng một máy, và nếu không, bao xa? có thể nằm ngoài mạng/miền địa phương của bạn?
- bao nhiêu quá tải bởi các quá trình khác máy mà MySQL ngồi
Một luôn có thể thay thế kết nối liên tục với các kết nối không liên tục. Nó có thể thay đổi hiệu suất của kịch bản, nhưng không phải là hành vi của nó!
RDMS thương mại có thể được cấp phép bởi số lượng kết nối được mở đồng thời và kết nối liên tục có thể bỏ lỡ
Kiến thức của tôi về khu vực này rất hạn chế nên tôi không thể cung cấp cho bạn nhiều chi tiết về chủ đề, nhưng theo như tôi biết, quá trình tạo kết nối và đưa chúng đến một chủ đề thực sự tốn chi phí, vì vậy tôi sẽ tránh nó nếu tôi là bạn. Dù sao thì tôi nghĩ rằng hầu hết các quyết định này không thể được khái quát hóa và phụ thuộc vào doanh nghiệp.
Nếu, ví dụ, ứng dụng của bạn giao tiếp liên tục với cơ sở dữ liệu và sẽ chỉ dừng lại khi ứng dụng được đóng lại, có thể kết nối liên tục là cách để đi, vì bạn tránh quá trình được đề cập trước đó. Tuy nhiên, nếu ứng dụng của bạn chỉ giao tiếp với Cơ sở dữ liệu một cách không thường xuyên để có thông tin nhỏ thì việc đóng kết nối có thể trở nên lành mạnh hơn, vì bạn sẽ không lãng phí tài nguyên trên các kết nối đang mở không được sử dụng.
Ngoài ra còn có một kỹ thuật gọi là "Kết nối tổng hợp", trong đó bạn tạo một chuỗi các kết nối ưu tiên và giữ chúng ở đó để các ứng dụng khác tiêu thụ. Trong trường hợp này, các kết nối liên tục đến cơ sở dữ liệu nhưng không liên tục với các ứng dụng.
Lưu ý: Các kết nối trong MSSQL luôn liên tục với cơ sở dữ liệu vì kết nối tổng hợp là hành vi mặc định.
- 1. Sử dụng lớp con NSManagedObject để truyền dữ liệu liên tục và không liên tục
- 2. SharedPreferences không liên tục
- 3. Làm cách nào để tạo một cookie liên tục và không liên tục?
- 4. Tôi có nên sử dụng kết nối liên tục mysql không?
- 5. C++ - liên tục sử dụng istringstream
- 6. Sử dụng liên tục như tên lớp
- 7. uninitialized liên tục ActionView :: CompiledTemplates :: Thể loại
- 8. dòng liên tục và sử dụng Dashed ggplot
- 9. Java Thừa kế và tránh sử dụng liên tục instanceof
- 10. Đường liên tục Bash
- 11. Nhà cung cấp loại F # và tích hợp liên tục
- 12. Bạn sử dụng phần mềm tích hợp liên tục nào?
- 13. nét liên tục trong Clojure
- 14. mảng liên tục
- 15. mysqli kết nối liên tục
- 16. Sử dụng bộ nhớ liên tục trong mã CUDA
- 17. Sử dụng CPU cao của MySQL và các liên kết liên tục
- 18. Windows Azure và tích hợp liên tục
- 19. Lịch sử dòng lệnh Python liên tục
- 20. Android - Tôi có nên tiếp tục sử dụng PreferenceActivity không?
- 21. Đọc liên tục từ luồng?
- 22. Border không xuất hiện liên tục
- 23. Sử dụng liên tục từ bên trong một Conduit
- 24. tích hợp liên tục python
- 25. mysql multi_query không liên tục bị lỗi
- 26. Lịch sử liên tục Windows PowerShell
- 27. Tạo cookie không liên tục bằng FormsAuthenticationTicket
- 28. Số nguyên liên tục chạy
- 29. Gradient trong hồi quy liên tục sử dụng mạng nơron
- 30. Cách tạo AlarmManager liên tục
+1 để biết thông tin về MySql không được sử dụng cho mục đích thương mại. Tôi tự hỏi có bao nhiêu người không nhận ra điều này. Mặc dù, một thanh toán cho giấy phép là khá rẻ. – NotMe
crap Tôi không biết rằng ... Tôi sẽ phải nhìn vào đó, cảm ơn. – Webnet
Có cách nào tôi có thể theo dõi chi phí của việc thiết lập/đóng kết nối không? Tôi nhận được lỗi liên quan đến quá nhiều kết nối vì vậy tôi tự hỏi nếu liên tục là một phần của vấn đề. Khi bạn nói các giao dịch bạn có ý nghĩa gì, chỉ cần truy vấn? – Webnet