Amazon RDS Max_data_length для таблиц памяти - PullRequest
3 голосов
/ 09 декабря 2011

У меня странная проблема с некоторыми таблицами памяти, которые я использую в RDS.Я не знаю, является ли это проблемой, специфичной для RDS, mysql 5.1.57, или это просто PEBKAC с моей стороны, но это был разочаровывающий день.

Неважно, какое значениеЯ даю max_heap_table_size, чтобы мои таблицы памяти всегда зависали с максимальной длиной данных 9360878. Это было определено с помощью SHOW TABLE STATUS и просто путем вставки известных объемов данных в таблицы.

Я пробовал установить этозначение в группе параметров RDS (я попытался перезагрузиться, даже если я установил метод на немедленный), и я попытался установить значение в строке запроса, используя SET.Я пробовал каждое значение от 16 мегабайт до 16 гигабайт, и оно не влияет на max_data_length.

Я также пытался установить max_temp_table_size, даже если это не должно быть в игре с таблицами модуля временной памяти изнасколько я понимаю.

Кто-нибудь может указать мне правильное направление?Мне нужно, чтобы столы могли вместить около 150 млн.

1 Ответ

3 голосов
/ 18 июля 2012

Избегайте оперативной памяти или временных таблиц

Поскольку MySQL не записывает в память или временные таблицы на диск, использование этих функций MySQL вызовет проблемы при попытке использовать функцию RDS Point In Time Restore. Эта операция основана на возможности воссоздать инстанс БД путем воспроизведения операций, выполненных в базе данных. Если во время этого воспроизведения некоторые операции основаны на информации, которой нет (так как она никогда не записывалась на диск), MySQL не может запуститься. Когда MySQL не запускается во время этой операции восстановления RDS, RDS установит состояние инстанса БД как несовместимое-восстановление.

Примечание. В связи с тем, как создаются реплики чтения MySQL, использование временных или временных таблиц также может помешать успешному созданию реплики чтения MySQL в RDS.

...