Tôi đang cố gắng đọc một cột clob từ oracle trong .Net và quan sát hiệu suất rất kém và nhiều lưu lượng truy cập mạng.Hiệu suất kém nhận được trường thông tin từ Oracle trong .Net
Tôi đã thử cách ODP + OCI, devArt + OCI để truy cập dữ liệu với cùng kết quả - mất khoảng 20 giây để nhận 1000 hàng trong trình đọc dữ liệu và đọc giá trị clob cho mỗi hàng.
Kiểm tra dấu vết của dấu vân tay, hóa ra mỗi khi tôi cố gắng đọc trường dấu mũ cho một hàng trong trình đọc, có thêm nhiều gói tcp được gửi giữa máy khách và máy chủ. Vì vậy, đối với 1000 hàng, điều này sẽ chậm hơn 1000 lần so với khi chỉ truy vấn một hàng.
Đồng thời, nếu tôi chạy cùng một truy vấn trong SQL Developer (mà tôi tin rằng sử dụng trình điều khiển jdbc mỏng thay vì oci), tôi nhận được kết quả ngay lập tức, bao gồm các giá trị clob. Nó không cố gắng để truy vấn clob cho mỗi hàng - nó được tất cả trong một đi!
Nhưng tôi không thấy ứng dụng khách mỏng cho .net. Làm thế nào tôi có thể tăng tốc độ? Hãy giúp tôi!
EDIT: Loại trường của tôi thực sự là XMLTYPE được lưu trữ dưới dạng dấu kiểm, không phải là một dấu kiểm thực. Sử dụng getClobVal để cải thiện kết quả từ 50% đến 10 giây cho 1000 hàng. Nhưng đồng thời, Sql Developer đang trả về kết quả ngay lập tức, không phải trong 10 giây.
Bạn đã bao giờ giải quyết vấn đề này chưa? Bạn đã đăng nhập yêu cầu hỗ trợ với nhà cung cấp chưa? –