Назад | Перейти на главную страницу

Могу ли я без проблем менять таблицу MySQL между InnoDB и MyISAM?

У меня есть сайт с прилично большой базой данных, размером 3Гб, парой таблиц с десятком миллионов записей.

В настоящее время он на 100% работает в MyISAM, и у меня такое ощущение, что сервер работает медленнее, чем следовало бы, из-за слишком сильной блокировки, поэтому я хотел бы попробовать перейти на InnoDB и посмотреть, улучшит ли это ситуацию. Однако мне нужно сделать это непосредственно в производстве, потому что, очевидно, без нагрузки это не имеет никакого значения.

Однако меня это немного беспокоит, потому что InnoDB может работать медленнее, поэтому вопрос в следующем:

Если я конвертирую все таблицы в InnoDB и оказывается, что мне стало хуже, чем раньше, могу ли я вернуться в MyISAM, ничего не потеряв?

Можете ли вы вспомнить, с какими проблемами я могу столкнуться? (Например, я знаю, что InnoDB хранит все данные в ОДНОМ большом файле, который становится только больше, может ли это быть проблемой?)

большое спасибо
Даниэль

Я несколько раз пытался изменить движок БД в mysql, и у меня не возникло никаких проблем.

тем не мение, Я предпочитаю делать это на тестовой машине. Вам нужно просто экспортировать базу данных и импортировать ее на тестовую машину. Затем вы можете изменить движок и проверить наличие ошибок / предупреждений / потери данных, если таковые имеются. Для создания нагрузки вы можете создать свой собственный скрипт для имитации реальной нагрузки или использовать существующий инструмент для этого. На этом этапе вы должны использовать машину, которая достаточно мощна, чтобы разумно оценивать производительность.