我要開發一個大的應用程序,一個學校管理系統;哪個MySQL存儲引擎會更好? MyIsam或InnoDB或其他?哪個MySQL的存儲引擎會比較好在我的情況下
回答
InnoDb
支持關係和MyISAM
沒有。如果您的應用程序需要此功能,則應使用InnoDB
。 其他主要差異包括:
- InnoDB較新,而MyISAM較舊。
- InnoDB更復雜,而MyISAM更簡單。
- InnoDB在數據完整性方面更加嚴格,而MyISAM鬆散。
- InnoDB實現了行級鎖的插入和更新,而MyISAM實現了表級鎖。
- InnoDB有事務,而MyISAM沒有事務。
- InnoDB有外鍵和關係約束,而MyISAM沒有。
- InnoDB具有更好的崩潰恢復功能,而MyISAM在恢復系統崩潰時的數據完整性方面效果不佳。
- MyISAM有全文搜索索引,而InnoDB沒有。
楊揚source
見this問題,並找出自己的,它適合的情況更好。
通過以下鏈接,您可以更好地瞭解如何使用innodb或MyISAM。
http://www.mysqlperformanceblog.com/2009/01/12/should-you-move-from-myisam-to-innodb/
你沒有給你的任務多的信息。很可能你會有相關的表(innodb支持外鍵),除了innodb在myisam的併發環境中使用更有效的阻塞。所以使用InnoDb作爲默認引擎是合理的。
首先讓我告訴你,對於這種類型的管理系統而言,併發不是一個大問題,因爲你不會同時進行事務處理。因此,您提到的存儲機制InnoDB具有足夠的功能,例如ACID合規性,崩潰恢復,行級鎖定等等,但這並不意味着InnoDB更好。
主要問題是數據倉庫在這樣的系統數據增長很大。因此,爲了滿足這種需求,Mylsam看起來很合適,因爲它是默認的存儲引擎,並且廣泛用於數據倉庫環境。
合併或MRG_MylSam是另一種選擇。它使您能夠將一系列相同的MylSam表邏輯分組,並將它們作爲一個對象引用。 VLDB(超大型數據庫)環境也非常好。
其他一些存儲引擎是NDBCluster,聯邦,檔案等,我不認爲你需要... 好運..!
今年是2012年。沒有人應該提及合併或聯合。我也強烈反對OP應該考慮數據倉庫,而MyISAM既不是默認的存儲引擎(它現在是InnoDB很長時間),也不是任何有問題的選擇(在崩潰後修復了一個非常大的MyISAM表? 祝你好運)。 – 2012-02-27 15:24:15
使用InnoDB,它的性能已經出現,它也支持外鍵。
同時針對最新的MySQL verison 5.5.x。當Oracle的Vanilla MySQL性能出現問題時,您可以查看替代服務器,如Percona(http://percona.com)。
來自MySQL 5.5的BTW InnoDB是MySQL服務器中的默認存儲引擎
- 1. 在這種情況下哪種引擎類型會更好?
- 2. 在哪種情況下LFU比LRU好?
- 3. 哪個存儲引擎在MySql中最好?
- 4. NoSQL解決方案的比較(在某些情況下哪個更好?)
- 5. 在哪些情況下使用定位會比浮動更好?
- 6. 哪種索引方法在我的情況下更好?
- 7. 在我的情況下,哪個MySQL分區是正確的?
- 8. 在這種情況下哪個URL方案會更好?
- 9. 如何在不保持會話的情況下避免比較?
- 10. 用於PHP會話存儲的最佳MySQL存儲引擎
- 11. 哪些內存管理技術在哪些情況下更好?
- 12. 比較在兩種情況下
- 13. Hadoop會在我的情況下給我更多好處嗎?
- 14. MySQL存儲引擎困境
- 15. MySQL存儲引擎決策
- 16. 特殊情況下插入排序的最壞情況比較
- 17. 哪一個比較好?
- 18. Flash 3D引擎的比較
- 19. 3D引擎比較
- 20. MYSQL存儲過程,情況
- 21. 在沒有JOIN的情況下在MySQL中存儲關係
- 22. 在這種情況下,Perl會用什麼來比較?
- 23. 我會在這種情況下拋出哪個例外?
- 24. 在這種情況下哪個更好的ConcurrentHashMap或Synchronized Hash Map?
- 25. 情況下,MySQL在哪兒查詢
- 26. 在不破壞現有會話的情況下更改Django會話引擎
- 27. 爲什麼內存引擎比InnoDB引擎存儲大得多?
- 28. 如何調整MySQL的存儲引擎
- 29. 哪種情況下性能更好
- 30. 哪個代碼的性能比較好?
問題不夠明確。使用INNODB,因爲它支持外鍵 – 2012-02-27 08:43:10
我有新聞給你。除非你的學校擁有十億學生,否則在數據庫世界裏它不會被認爲是大的:-) – paxdiablo 2012-02-27 08:45:16
@paxdiablo,1或十億,它只是一個學校管理系統。這真的很大 – Starx 2012-02-27 08:57:09