Vì bạn đã hỏi về cách các công ty lớn (nói chung) tiếp cận vấn đề này:
Họ thường có một dba (quản trị viên cơ sở dữ liệu) sống và quản lý cơ sở dữ liệu mà công ty sử dụng.
Điều này có nghĩa là họ có những người biết mọi thứ từ cách thiết kế bảng một cách tối ưu, lập hồ sơ và điều chỉnh các truy vấn / chỉ mục / hệ điều hành / máy chủ để biết bản sửa đổi phần sụn nào của bộ điều khiển RAID có thể gây ra sự cố cho cơ sở dữ liệu.
Bạn không nói nhiều về loại điều chỉnh mà bạn đã thực hiện, ví dụ:
- Bạn có đang sử dụng bảng MyISAM hay InnoDB không? Hiệu suất của chúng (và không nhất là các tính năng của chúng) hoàn toàn khác nhau đối với các khối lượng công việc khác nhau.
- Các bảng có được lập chỉ mục đúng theo các truy vấn bạn chạy không?
- chạy GIẢI THÍCH trên tất cả các truy vấn của bạn - điều này sẽ giúp bạn xác định các khóa có thể được thêm / bớt, làm ướt các khóa thích hợp được chọn, so sánh các truy vấn (SQL giúp bạn có rất nhiều cách để hoàn thành những điều tương tự)
- Bạn đã điều chỉnh truy vấn-cache chưa? Đối với một số khối lượng công việc, bộ nhớ đệm truy vấn (bật mặc định) có thể gây ra tốc độ chậm đáng kể.
- Hộp của bạn có bao nhiêu bộ nhớ và mysql có được điều chỉnh để tận dụng lợi thế này không?
- Bạn có sử dụng hệ thống tệp và thiết lập đột kích hướng tới cơ sở dữ liệu không?
- Đôi khi cần giảm chuẩn hóa một chút.
- Các sản phẩm cơ sở dữ liệu khác nhau sẽ có các đặc điểm khác nhau, MySQL có thể rất nhanh đối với một số từ khóa và chậm đối với những người khác.