簡體   English   中英

MySQL:InnoDB或MyISAM Engine :::哪個對很多選擇更好?

[英]MySQL: InnoDB or MyISAM Engine ::: which is better for lot of selects?

我有一個巨大的文件(〜26 MB),大約有200列和30000條記錄。 我想將其導入數據庫(InnoDB Engine)。 我永遠不會更新或刪除記錄。 盡管我將在where子句中從表中查詢很多記錄,但記錄的復雜度很高。 我應該選擇哪種表引擎來加快查詢響應速度? 真的會有很大的不同嗎? PS:我所有其他表都使用InnoDB。

另外,如何避免手動創建包含200列的表並為每個列指定數據類型。 大多數列都是浮點型的,很少是varchar和date。

通常,“更快,ISAM或innodb”的答案是ISAM

但是為了獲得具有很少更新的表的最佳性能,您可能需要查看Infobright的列式數據庫 (已集成到mysql中)。

但是,只有3萬行時,您看不到innodb,isam和infobright之間的顯着差異。

OTOH,您真的應該認真考慮一下是否真的需要在單個表中包含200列。 我懷疑情況並非如此-模式在確定性能方面比存儲引擎重要得多。

當處理大量數據時,innodb的價格要比myisam好。

http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/

http://www.cftopper.com/index.cfm?blogpostid=84

MySQL支持工程師和Wikipedia工程師James Day建議人們一直使用InnoDB,除非出於某種原因,如果您明顯需要MyISAM:

“在證明它不合適之前,我會選擇InnoDB。第一個原因是可靠性。使用MyISAM會導致崩潰,並且與表大小,表修復過程有關,這是不可靠且緩慢的。與InnoDB相同,而您獲得固定的時間,快速且可靠的日志應用/回滾過程。隨着數據集的增大,這一點變得越來越重要,就像您要執行諸如睡眠之類的事情,而不是在深夜醒來,修復崩潰的表。

為了提高可靠性和性能,我們在Wikipedia上幾乎將InnoDB用於所有內容-我們承受不起MyISAM使用所隱含的停機時間,當崩潰時無法檢查表中的400GB數據。”

暫無
暫無

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

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