Chúng tôi đã gặp phải một vấn đề khi truy vấn một bảng có xấp xỉ 50 triệu hàng và có kích thước chỉ mục là 4 GB (kích thước bảng khoảng 6 GB) dẫn đến việc máy chủ cơ sở dữ liệu hoán đổi bộ nhớ và làm chậm đáng kể. Tôi khá chắc chắn rằng điều này có liên quan đến việc kích thước bảng tạm thời bị vượt quá và nó được hoán đổi vào đĩa.
Nếu tôi nâng cấp máy chủ cơ sở dữ liệu của mình từ RAM 32 GB lên RAM 64 GB, tôi tự hỏi liệu cơ sở dữ liệu MySQL có thể tận dụng hết bộ nhớ bổ sung này và không trao đổi không. Tôi đã trải qua một vài biến số (ví dụ: KEY_BUFFER_SIZE, v.v ...) và dường như chúng hỗ trợ cài đặt các giá trị trên 64 GB. Tuy nhiên, tài liệu MySQL nói rằng tmp_table_size tối đa là 4 GB.
Vì vậy, nâng cấp bộ nhớ sẽ có giá trị nó? Vấn đề "truy vấn bảng lớn" sẽ được hưởng lợi từ vấn đề này, hoặc nó sẽ không giúp ích gì vì giới hạn 4 GB? Tôi biết có những giải pháp tiềm năng khác như tái cấu trúc bảng sẽ được phân vùng theo nhiều cách khác nhau, v.v ... nhưng không thay đổi bất cứ điều gì về bảng, liệu bộ nhớ bổ sung có giúp ích gì không?
Ngoài ra, nói chung, có bất kỳ biến liên quan đến bộ nhớ nào khác mà MySQL sẽ không thể tận dụng khi chuyển từ RAM 32 sang 64 GB không?
Chúng tôi đang sử dụng linux 64bit (Ubuntu) làm máy chủ cơ sở dữ liệu của chúng tôi.
Cảm ơn, Galen