2011-09-26 20 views
1

由於我對MyISAM,InnoDB引擎沒有更多的瞭解,所以我很困惑我的大型項目使用哪種引擎,MyISAM或InnoDB用於我的大型項目,一次完成多項工作

1)最低3000個用戶將在(內小時)

2)同時登錄自己的帳戶,做這樣更新了一些工作,刪除自己的帳戶等

我的數據在共享主機上。任何人都可以給我特定的答案,我應該使用什麼引擎來更快地處理以上情況。

哪個數據庫引擎會加速上面的工作?任何幫助PLZ?

+1

可能重複的[當它的時間爲表,以從改變的MyISAM到INNODB?](http://stackoverflow.com/questions/1729806/when-it-is-time-for -a-table-to-change-from-myisam-to-innodb) – webbiedave

+1

可能的重複[MyISAM比InnoDB快多少?](http://stackoverflow.com/questions/1970420/how-much-faster -is-的myisam-相比對innodb的) – webbiedave

回答

5

您的應用程序是否使用外鍵?如果是這樣,那麼你需要使用InnoDB引擎。如果不行,你可以繼續使用MyISAM引擎。


如果數據有很多修改,則說InnoDB工作更快,因爲它使用行鎖而不是表鎖,就像MyISAM。但是,如果主要有SELECT語句,則MyISAM表可能會更快。

但是,特定表的需求總是很重要 - 所以我會選擇最適合給定表的需求的存儲引擎。如果您需要外鍵約束或事務,則只能使用InnoDB,如果您需要全文索引,則目前只能使用MyISAM表。

通過複製,甚至可以利用一個表上的兩個存儲引擎。例如,主服務器可以將表存儲爲InnoDB,這使得INSERT,UPDATE和DELETE更快,而從服務器可以將相同的表存儲爲MyISAM,併爲SELECT提供最佳性能。

Source

2

兩臺發動機都有優點和缺點

  1. MYISAM

    • 的MyISAM是非常簡單易用,因此很容易編寫第三方工具來與它互動。
    • 的MyISAM已經有一段時間了,所以它高度優化
    • 的MyISAM使用較少的內存比InnoDB和實際的數據文件通常對於InnoDB
  2. 大了不少的InnoDB