我在数据库中使用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”操作,并且对数据库具有高插入/更新速率(有时超过50条目/秒)。
答案 0 :(得分:1)
我说你遇到了麻烦,因为你无法控制引擎,你无法做任何事情。
但是,可以使用Apache Lucene在大型数据库上执行全文搜索。据我所知,它比任何sql引擎更快,更具可扩展性。它是用Java实现的,但是还有许多其他的实现,包括C,C ++ ,. Net,Python,PHP,......
答案 1 :(得分:0)
如果您在使用MyISAM时遇到了腐败问题,那么您在其他地方就会遇到另一个可靠性问题 - 比如您的mysql守护程序被毫不客气地杀死,或者出现磁盘错误或电源问题。
由于禁用了好的替代方案,你很可能会被困在那里。是时候让一个没有禁用好东西的供应商了。