Bạn không có bất kỳ chỉ mục nào ngoài khóa chính. Bạn cần tạo chỉ mục trên các trường mà bạn sử dụng trong câu lệnh WHERE của mình. Nếu bạn chỉ cần lập chỉ mục 1 trường hoặc kết hợp nhiều trường phụ thuộc vào các CHỌN khác mà bạn sẽ chạy trên bảng đó.
Hãy nhớ rằng REGEXP hoàn toàn không thể sử dụng các chỉ mục, LIKE chỉ có thể sử dụng chỉ mục khi nó không bắt đầu bằng ký tự đại diện (vì vậy LIKE 'a%' có thể sử dụng chỉ mục, nhưng LIKE '%a' không thể), lớn hơn / nhỏ hơn (<>) thường cũng không sử dụng chỉ mục.
Vì vậy, bạn chỉ còn lại mã code và check lĩnh vực. Tôi cho rằng nhiều hàng sẽ có cùng giá trị cho check , vì vậy tôi sẽ bắt đầu lập chỉ mục bằng mã code đồng ruộng. Chỉ mục đa trường chỉ có thể được sử dụng theo thứ tự mà chúng được xác định ...
Hãy tưởng tượng chỉ mục được tạo cho các trường code, check . Chỉ mục này có thể được sử dụng trong truy vấn của bạn (trong đó mệnh đề WHERE chứa cả hai trường), cũng trong truy vấn chỉ có mã code nhưng không có trong truy vấn chỉ có check trường.
ORDER BY id có quan trọng không ? Nếu không, hãy bỏ nó đi, nó sẽ ngăn việc sắp xếp vượt qua và truy vấn của bạn sẽ kết thúc nhanh hơn.