2010-11-02 28 views
2

我正在設計一個用戶日誌表,它將記錄主要用戶的操作(登錄,註銷等) - 正如你可以想象的,這張表會經常被寫入,而讀取會很少。mysql表類型的日誌表?

我通常只是用innoDB來處理所有的表格,但我想知道這是否是用於日誌的表格的最佳方法?

對錶格類型和其他設計問題的任何建議?提前致謝。

回答

1

MyISAM速度更快,但不支持使用像InnoDB這樣的事務。但是,我認爲你不需要交易記錄表,所以MyISAM就足夠了。

+0

如果您不使用FK(您可能不會在簡單的單個日誌表中)使用MyISAM,因爲它更快。有一些關於MySQL數據倉庫的白皮書,其中應包括一行或兩行。目前沒有鏈接,但應該很容易在谷歌上找到。 – 2010-11-02 12:56:25

+0

謝謝。但是我仍然可以在交易中使用表,還是會拋出錯誤? – 2010-11-02 12:56:54

+0

是的,你可以在一個事務中使用MyISAM表,但它們不能被回滾。如果回滾包含對MyISAM表的更改的事務,則InnoDB更改將回滾,您將看到此消息提醒您MyISAM更改未回滾:警告:某些非事務更改的表無法回滾' – 2010-11-02 15:35:13

1

我認爲你必須使用Archive Storage Engine,因爲日誌通常真的很大,你永遠不會閱讀它們。歸檔存儲引擎也針對大量插入進行了調整。