Tôi đã đọc về refactoring một Query lớn SQL chậm hơn here, và đáp ứng cao nhất hiện nay là từ Mitch mì, ai muốn chắc chắn rằng các truy vấn sử dụng các chỉ số cho đã lựa chọn phương lớn, và đề cập đến:Khi nào các chỉ mục cơ sở dữ liệu nên được xây dựng lại?
Điều đầu tiên Tôi sẽ làm là kiểm tra để đảm bảo có một công việc duy trì chỉ số hoạt động đang chạy định kỳ. Nếu không, hãy nhận tất cả các chỉ mục hiện có được xây dựng lại hoặc nếu không thể, ít nhất hãy cập nhật số liệu thống kê.
Tôi chỉ là nghiệp dư DBA và tôi đã thực hiện một vài chương trình tự do về cơ bản là máy khách Java dành cho máy tính để bàn và đôi khi là một chương trình phụ trợ của MySQL. Khi tôi thiết lập hệ thống, tôi biết để tạo ra một chỉ số trên các cột sẽ được truy vấn bởi, có một trường hợp varchar và một varchar CustName.
Tuy nhiên, tôi đã thiết lập hệ thống này vài tháng trước và để khách hàng vận hành nó và tôi tin rằng các chỉ mục sẽ phát triển khi dữ liệu được nhập và tôi tin rằng mọi thứ vẫn hoạt động tốt. Tôi lo lắng mặc dù các chỉ mục sẽ được xây dựng lại định kỳ, bởi vì hôm nay tôi đã đọc rằng cần có một 'công việc bảo trì tích cực'. Công việc bảo trì duy nhất tôi đặt ra là một bản sao lưu hàng đêm.
Tôi muốn hỏi cộng đồng về bảo trì thường xuyên mà cơ sở dữ liệu có thể yêu cầu. Có cần thiết để xây dựng lại các chỉ mục? Tôi có thể tin tưởng chương trình phụ trợ MySQL để tiếp tục miễn là không có ai lộn xộn với nó và dữ liệu vẫn dưới một vài gigabyte?
Từ liên kết của bạn: "OPTIMIZE TABLE nên được sử dụng nếu bạn đã xóa một phần lớn của bảng hoặc nếu bạn đã thực hiện nhiều thay đổi đối với bảng có các hàng có độ dài thay đổi" Có vẻ như tôi chỉ nên chạy OPTIMIZE nếu có thay đổi cấu trúc. Cảm ơn, Có vẻ như tôi không cần. – Karl