Tôi cảm thấy đây là tối ưu hóa sớm vì ứng dụng của chúng tôi thậm chí chưa được phát hành. Tôi đề nghị theo dõi các truy vấn chậm khi chúng tôi phát trực tiếp và sau đó thêm các chỉ số tương ứng.
Bạn không thể đối xử với người dùng cuối và môi trường sản xuất của mình như đảm bảo chất lượng. Nói cách khác, bạn đang nói rằng bạn sẽ tìm ra nó trong sản xuất. Tôi không nghĩ đó là cách đúng đắn và tôi thấy cách tiếp cận đó sai lầm khủng khiếp mỗi ngày .
Bạn cần ghi nhớ một điều, vì bạn không thể vẽ nó bằng cọ rộng.
Khối lượng công việc chung của bạn là gì?
Điều đó nghe có vẻ rõ ràng hoặc buồn tẻ, nhưng nó có ý nghĩa trong thực tế. Nếu bạn có 10 truy vấn chiếm 98% khối lượng công việc của bạn (khá phổ biến, tin hay không), đề xuất của tôi sẽ là một phân tích cứng trước khi sản xuất . Với dữ liệu thực tế và đại diện, hãy đảm bảo 10 truy vấn đó tốt nhất có thể ( hoàn hảo là lãng phí thời gian quý báu và gần như không thể đạt được).
Đối với 200 truy vấn khác chiếm 2% khối lượng công việc , đó là những truy vấn rất có thể không đáng để bỏ công sức và sẽ tạo nên sự kỳ quặc khắc phục sự cố hoàn hảo trong trường hợp sản xuất. Đó cũng là một thực tế, và không phải là một điều tồi tệ khủng khiếp. Nhưng điều đó không có nghĩa là bỏ qua việc lập chỉ mục các thực tiễn tốt nhất hoặc đưa ra các giả định ước tính về truy xuất dữ liệu.
Đó là thông lệ và thực tiễn tốt để tìm ra hiệu suất cơ sở dữ liệu trước khi sản xuất. Trong thực tế, có một vị trí tương đối phổ biến cho loại điều này được gọi là DBA phát triển .
Nhưng...
Một số đưa quá xa và điên cuồng thêm các chỉ mục "chỉ trong trường hợp". Ai đó khuyên đây là một chỉ số còn thiếu? Thêm nó, và bốn biến thể khác. Cũng là một ý tưởng tồi. Bạn không chỉ cần suy nghĩ về việc truy xuất dữ liệu của mình, mà còn sửa đổi dữ liệu thì sao? Bạn càng có nhiều chỉ mục trên một bảng, nói chung bạn càng có nhiều chi phí khi bạn sửa đổi dữ liệu.
Giống như hầu hết mọi thứ, có một sự cân bằng lành mạnh.
Như một lưu ý nhỏ thú vị ... Số nhiều của "Index"
"Chỉ số" dành cho dân tài chính
"Chỉ mục" là dành cho chúng tôi