Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL + Mã đầu tiên + Vấn đề tải chậm!

Đó chính xác là những gì đang xảy ra, nhưng tôi nghĩ không hoàn toàn vì lý do như bạn nghĩ. DataReader vẫn đang mở, không phải do thực thi bị trì hoãn trong Linq, mà bởi vì bạn vẫn đang lặp lại các kết quả truy vấn khi bạn cố gắng truy cập vào thuộc tính khác chưa được tải. Khi bạn gọi .ToList() kết quả được trả về cùng một lúc và được lưu trữ trong List<TEntity> trong bộ nhớ trên máy khách, thay vì được trả lại 1 bản ghi tại một thời điểm.

Bạn có thể giải quyết vấn đề này trong MS SQL Server bằng cách sử dụng cài đặt MultipleActiveResultSets=true trong chuỗi kết nối của bạn, nhưng MySQL không hỗ trợ cài đặt này. Tuy nhiên, điều bạn có thể làm là tải dữ liệu bổ sung bạn cần bằng cách sử dụng .Include("tablename")

var houses = (from h in db.Houses.Include("Images")
              select h).Take(10);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động tạo truy vấn chọn mysql

  2. Quyền truy cập bị từ chối; bạn cần (ít nhất một trong số) (các) đặc quyền SUPER cho hoạt động này

  3. SQL giá trị cố định IN () so với hiệu suất INNER JOIN

  4. PHP / MySQL sao chép dữ liệu theo khối từ bảng này sang bảng khác thông qua nút tải thêm

  5. MySQL:Đếm hai thứ trong một truy vấn?