Tối ưu EF Core query xoay quanh giảm overhead tracking, giảm dữ liệu trả về và tránh N+1.
- Dùng
.AsNoTracking()cho read-only queries để tắt change tracking - Dùng
.Select()projection thay vì load toàn bộ entity - Batch updates với
ExecuteUpdate()vàExecuteDelete()thay vì load-modify-save - Dùng
.Include()đúng chỗ để tránh N+1 - Monitor SQL thực tế qua logging để phát hiện query xấu
- Tạo index trên các cột được filter/sort thường xuyên