簡體   English   中英

將ORMLite與MySQL和MyISAM表一起使用

[英]Using ORMLite with MySQL and MyISAM tables

ORMLite的MySQL驅動程序默認使用InnoDB表。 該文檔描述了如何配置它以使用其他表類型,但沒有描述這樣做的后果。 我最近在InnoDB上經歷了糟糕的經歷,但我想遷移到MyISAM,但是我想檢查一下ORMLite的所有功能是否可以繼續正常工作,因為我知道MyISAM缺少InnoDB支持的某些功能。 有人對此有經驗嗎? 有潛伏的問題嗎?

(FWIW,我確實知道我的應用程序沒有任何特殊的交易需求,這是一個顯而易見的功能,可能會失敗)

抱歉,但是從ORM的角度來看,我不了解InnoDBMyISAM之間的區別。 希望 ORMLite不會受到任何影響。 表的類型是MySQL內部的名稱,可能會影響性能或查詢行為。

這是一個很好的表格 ,我將在這里總結這兩種類型之間的差異

  1. InnoDB較新,而MyISAM較舊。
  2. InnoDB更復雜,而MyISAM更簡單。
  3. 當MyISAM寬松時,InnoDB在數據完整性方面更加嚴格。
  4. InnoDB實現行級鎖用於插入和更新,而MyISAM實現表級鎖。
  5. InnoDB有事務,而MyISAM沒有。
  6. InnoDB有外鍵和關系約束,而MyISAM沒有。 InnoDB具有更好的崩潰恢復,而MyISAM在系統崩潰時無法恢復數據完整性。
  7. MyISAM具有全文本搜索索引,而InnoDB沒有。

我在此列表上看到的唯一影響查詢級別的是MyISAM不支持外鍵或約束,但ORMLite(截至3/2013)也不支持外鍵或約束。 MyISAM不支持事務,但是您可以在沒有事務的情況下進行ORMLite調用。

在我的頭頂上,我沒有看到任何會影響ORM的列表。 那就是說測試將是一個好主意。 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM