搜尋
首頁後端開發php教程mysql表类型MyISAM,InnoDB实际中怎么选择?

MyISAM,InnoDB的区别优劣网上都说的很清楚了,但在实际中不知道该怎么去用。

之前问过这个问题,但可能说的不是很详细,http://segmentfault.com/q/1010000002600161

我想知道大家在“商城”、“商品表”、“订单”、“库存”,实际中项目中是怎么去设计表类型的呢,或者是怎么保证数据完整性的呢,事务,事务隔离级别……

例如支付宝如果使用mysql的话,那么它的表是怎么设计的呢,怎么严密保证数据的完整性呢?

或者大家知不知道有哪些关于这方面的比较经典的案列呢。

谢谢大家了!

回复内容:

MyISAM,InnoDB的区别优劣网上都说的很清楚了,但在实际中不知道该怎么去用。

之前问过这个问题,但可能说的不是很详细,http://segmentfault.com/q/1010000002600161

我想知道大家在“商城”、“商品表”、“订单”、“库存”,实际中项目中是怎么去设计表类型的呢,或者是怎么保证数据完整性的呢,事务,事务隔离级别……

例如支付宝如果使用mysql的话,那么它的表是怎么设计的呢,怎么严密保证数据的完整性呢?

或者大家知不知道有哪些关于这方面的比较经典的案列呢。

谢谢大家了!

mysql表类型MyISAM,InnoDB实际中怎么选择?

针对具体情况选择,像楼主说的这几种,实际中多选择innoDB

要速度快用myisam,要数据安全用innodb,要折腾要B格高用postgrelsql.

最好用innodb 因为支持事务回滚

如果忽略业务数据的一致性问题,只是往表里灌数据,那MyISAM会比InnoDB爽得多。
但实际项目中这种例子并不多,而不使用事务操作的话,存储方面我还有很多选择。

另外想想这样的场景,就是MySQL主从时主库用InnoDB从库用MyISAM,这样做读写分离会不会好一点?
但如果要搞主库选举切换的话,这样搞反而碍事了。

另外有全文索引的问题,版本是5.7的话可以试试http://dev.mysql.com/doc/refman/5.7/en/full-text-plugins.html

看了下几个回复简直不忍直视。。。各种误人子弟啊。
把事务作为使用它们的区别,这是非常片面的。还有完全错误的答案:“Myisam类型的好处是增 删 改的效率比innodb高。”
这么说吧,如果你要事务,myisam就被pass了。
另一个重要区别:表级锁和行级锁。myisam是表锁的,意味这你insert、update、delete一条记录整个表就被锁了,谁的写操作效率高??上面的答案我真是汗爆了。
mysiam在存储上索引和data分开,空间占用小。但表损坏不能恢复数据。
一句话,mysiam适合读多写少的应用,且对数据一致性恢复性要求不高。
一般情况下,web应用都用innodb

如果你的项目中不需要事物操作,那么就用Myisam,否则就用innodb,Myisam类型的好处是增 删 改的效率比innodb高。

InnoDB存储引擎提供了具有提交,回滚和崩溃恢复能力的事务安全。对比MyISAM的存储引擎,InnoDB写的处理效率差一些,并且会占用更多的磁盘空间以保留数据和索引。
MyISAM:主要以读操作和插入操作为主,只是很少的更新和删除操作,并且对事务的完整性,并发性要求不高,选择这个存储引擎比较合适。还是在web、数据仓储和其他应用环境下最常用的的存储引擎之一。
InnoDB:用于事务处理应用程序,支持外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据一致性,数据操作除了插入和查询以外,还包括很多更新,删除操作,那么InnoDB应该是比较适合的选择。

innodb吧 它支持事务操作

mysql5.5版本建表默认都使用InnoDB了,所以建议使用InnoDB,MyIsam可以说是历史要慢慢被淡出

虽说InnoDB,MyIsam各有优劣,曾经我也为做这个选择而纠结,但现实中一般自己做的小项目体现不出他俩的区别,而公司的项目会有专门的DBA(小公司除外),如果你要做这个选择没有特殊原因选择InnoDB的,未来的趋势

也就是说大家还是说要用InnoDB是吧

其实和你的业务还是有很大的关系的.
如果你的业务和钱有关系,那么最好就是InnoDB.
我的公司都是以资讯内容为主,当时也在选择引擎的时候犯难,最后我们直接拿几百万的数据来测试,发现还是MyIsam比较合适,当时的测试版本是5.5的

我们公司一开始用的MyIsam做人口系统,因为数据清洗与迁移方便,但是在后期中出现的锁表问题很头疼,就换成了InnoDB,仅供参考

目前工作都没有遇到使用mysiam建表的,innodb是主流。如果是读多写少的场景,可以用redis等nosql来做更适合。

时至今日,不用想了,myisam和innodb比没有任何优势,

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
超越炒作:評估當今PHP的角色超越炒作:評估當今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

PHP中的弱參考是什麼?什麼時候有用?PHP中的弱參考是什麼?什麼時候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

解釋PHP中的__ Invoke Magic方法。解釋PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

解釋PHP 8.1中的纖維以進行並發。解釋PHP 8.1中的纖維以進行並發。Apr 12, 2025 am 12:05 AM

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區:資源,支持和發展PHP社區:資源,支持和發展Apr 12, 2025 am 12:04 AM

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP與Python:了解差異PHP與Python:了解差異Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

php:死亡還是簡單地適應?php:死亡還是簡單地適應?Apr 11, 2025 am 12:13 AM

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來:改編和創新PHP的未來:改編和創新Apr 11, 2025 am 12:01 AM

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。