1. Tối ưu các danh sách
1.1 Nếu đang dùng Entity Framework:
B1: Dùng IQueryable để lấy danh sách nếu đang sử dụng entity framework, sau đó where các điều kiện rồi chuyển thành AsEnumable() hoặc ToList() để trả kết quả lên View
B2: Sử dụng Ajax Partial để lấy danh sách data
B3: Xử lý phân trang cho partial đó
1.2 Nếu đang sử dụng StoreProcedure:
B1. Cần truyền tất cả parameter vào rồi xử lý dưới SP
B2. Chỉ select những column sử dụng, tránh select hết tất cả
B3. Thêm đoạn set "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;" trên đầu body SP
B4. Trường hợp có parameter trong SP là kiểu "DateTime" hoặc "kiểu chuỗi (char, varchar, nvarchar)" thì cần khai báo một biến riêng trong SP rồi sử dụng biến đó, tránh dùng trực tiếp từ parameter truyền vào
B5. Trường hợp danh sách cần xử lý phân trang cho SP