2011-06-06 57 views
0

我在我的数据库中使用MyISAM引擎时遇到问题。它不断腐败,查询时间严重不一。因此我不能再使用它了。我发现的是InnoDB是一个很好的alternatve,但现在的问题是:该格式正确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 

希望,所以这是我一起工作。

我基本上有麻烦了吗?或者是否有任何这些可以做到这一点?我有一个数据库可以容纳数百万条记录,我需要在“mediumtext”字段(可能是全文搜索)上执行“LIKE”操作,并且对数据库有很高的插入/更新速率(有时超过50条目/秒)。

回答

1

我想说你有麻烦了,因为你无法控制引擎,你什么都做不了。

但是,在大数据库上执行全文搜索可以使用Apache Lucene来完成。据我所知,它比那里的任何sql引擎更快,更具可扩展性。它是用Java实现的,但是还有许多其他的实现,包括C,C++,.Net,Python,PHP ......

0

如果你的MyISAM存在问题,你的mysql守护进程被无情地杀死,或者是磁盘错误或者电源问题。

由于优秀的替代品被禁用,你很呆在那里。有时间获得不会禁用好东西的提供商。