MySQL автоматически выделит около 0,8 памяти экземпляра для хранения данных и индексов.Это сделано для того, чтобы избежать тяжелых операций ввода-вывода и обеспечить хорошее время отклика.
Таким образом, по умолчанию MySQL будет надеяться сохранить в памяти как можно больше, в результате чего использование памяти будет выглядеть линейно масштабируемым при добавлении большего количества данных.
Это не обязательно означает, что вы близки к решению проблем.Это действительно вопрос того, какие ресурсы есть у вашей машины MySQL.Предоставьте ему 128 ГБ ОЗУ и вставьте данные объемом ~ 120 ГБ, и он будет хранить ~ 102 ГБ данных в памяти (поддерживая производительность), в то время как машина с 64 ГБ ОЗУ и данными объемом 120 ГБ наверняка покажет более медленное время отклика.
Дополнительное примечание:
Если вы храните сотни миллионов строк и хотите немного скомпрометировать время запроса (от миллисекунд до секунд), я бы посоветовал проверить BigQuery, вы можете в конечном итогеплатить меньше, чем Cloud SQL, не беспокоясь о масштабах (когда-либо ..) и обслуживании DBA / Dev Ops (память, процессор, индексирование и т. д.).