[英]mysql - MyISAM or InnoDB - Join speed vs Lookup speed
在關閉之前,請先閱讀問題作為重復的pl。,因為對此有很多疑問,但至少我沒有找到想要的東西。
現在清楚的是:
MyIsam is faster at searching strings (much faster)
InnoDB is faster at joins (much faster)
所以我的問題是這樣的:我有以下設置:
兩個表,假設t1的blan
id
, bla1
, bla2
,..., blan
; 和t2具有列t1Id
, extra1
, extra2
,..., extran
。
表1(t1)是InnoDB(需要進行事務處理,這很清楚)。 表2(t2)始終與t1一起使用(某些情況下是額外的數據),因此在t2出現的位置之間始終存在連接。 那將指向InnoDB。 問題是在連接之后,還將(總是)搜索其中一列內的字符串。 這將指向MyISAM。
獲得時間的時間顯然是加入時間和搜索時間之間的總和。 問題是,如果我優化一個,我會使另一個變慢。
值得一提的事實:表確實非常大,t2永遠不需要事務,行鎖或通常需要使用InnoDB的任何東西。
有什么更好的選擇? MyISAM還是InnoDB?
可以肯定地說的唯一方法是創建兩個表,向它們加載示例數據並衡量您的查詢。
通常,我建議您使用InnoDB:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.