2013-04-04 3 views
3

У нас есть таблица, которая использует полный текстовый поиск и поэтому требуется использовать MyISAM двигатель:Изменение базы данных двигателя

DROP TABLE IF EXISTS `netyears`; 
CREATE TABLE IF NOT EXISTS `netyears` (
    `PK_NETYEARID` int(11) NOT NULL auto_increment, 
    `ITEMNAME` varchar(9) default NULL, 
    `ISLIVE` char(1) default NULL, 
    PRIMARY KEY (`PK_NETYEARID`), 
    FULLTEXT KEY `ITEMNAME` (`ITEMNAME`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; 

Теперь я пытаюсь реализовать MySQL кластер из 5 машин, чтобы увидеть преимущества производительности (1 узел управления, два узла демона и два узла данных после этого tutorial)

Мой вопрос: В чем состоят соображения, которые необходимо учитывать, зная, что я перехожу от механизма MyISAM к NDB (требуется для согласованности через кластерные узлы) движок?

В качестве примечания, после просмотра через довольно много всего SQL, используемого на приведенной выше таблице, MATCH или AGAINST ключевые слова не используются. Означает ли это, что реализация полнотекстового поиска была бессмысленной?

+0

Первое, что у вас есть, это то, что механизм NDB не поддерживает полнотекстовые индексы. –

+0

В ответ на примечание: да, вы вообще не используете полнотекстовый поиск. – Mchl

ответ

2

Некоторые соображения о том, что NDB двигатель не поддерживает Полный текст (MyISAM и InnoDB являются только enginse, что делают) поиски, так что вы не сможете использовать MATCH/AGAINST, но это не должно быть проблемой, так как вы не» t есть эти утверждения в вашем SQL, и да, поскольку у вас их нет, это означает, что вам просто нужно переключить движок и выгрузить/импортировать данные в ваш кластер с помощью нового двигателя NDB.

+0

Примечание: поскольку MySQL 5.6 InnoDB также поддерживает полнотекстовые индексы и поиск. – Mchl