2011-06-06 88 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守護進程被無情地殺死,或者是磁盤錯誤或者電源問題。

由於優秀的替代品被禁用,你很呆在那裏。有時間獲得不會禁用好東西的提供商。