Альтернатива MyISAM, которая не является InnoDB?
У меня проблемы с использованием движка MyISAM в моей базе данных. Он постоянно портит и сильно меняет время запросов. Таким образом, я не могу использовать его больше. Я нашел InnoDB, чтобы быть хорошим альтернативой, но вот проблема:
Engine Support Comment
MyISAM DEFAULT Default engine as of MySQL 3.23 with great perform...
MEMORY YES Hash based, stored in memory, useful for temporary...
InnoDB DISABLED Supports transactions, row-level locking, and fore...
BerkeleyDB NO Supports transactions and page-level locking
BLACKHOLE YES /dev/null storage engine (anything you write to it...
EXAMPLE NO Example storage engine
ARCHIVE YES Archive storage engine
CSV YES CSV storage engine
ndbcluster DISABLED Clustered, fault-tolerant, memory-based tables
FEDERATED YES Federated MySQL storage engine
MRG_MYISAM YES Collection of identical MyISAM tables
ISAM NO Obsolete storage engine
Надеюсь, что форматирует правильно
У меня нет власти над поддержкой различных двигателей, так что это то, с чем я должен работать.
Я в основном в беде? Или есть какие-то из них, которые могут добиться цели? У меня есть БД, которая может содержать потенциально миллионы записей, и мне нужно выполнить операции "LIKE" над полем "mediumtext" (возможно, полнотекстовый поиск), и иметь высокую скорость вставки / обновления в БД (иногда более 50 записи / сек).
2 ответа
Я бы сказал, что у вас проблемы, потому что у вас нет контроля над двигателями, вы ничего не можете сделать.
Однако для выполнения полнотекстового поиска по большой базе данных можно было бы использовать Apache Lucene. Насколько я знаю, это быстрее и более масштабируемо, чем любой другой SQL-движок. Он реализован на Java, но есть много других реализаций, включая C, C++, .Net, Python, PHP, ...
Если у вас проблемы с MyISAM, у вас есть другая проблема с надежностью в другом месте - например, ваш демон mysql был убит бесцеремонно, или произошла ошибка на диске или проблема с питанием.
Поскольку хорошие альтернативы отключены, вы застряли там. Время найти поставщика, который не отключает хорошие вещи.