MongoDB為什麼比mysql效率高
首先是記憶體對映機制,資料不是持久化到儲存裝置中的,而是暫時儲存在記憶體中,這就提高了在IO上效率以及作業系統對儲存介質之間的效能損耗。(畢竟記憶體讀取最快)其次,NoSQL並不是不使用sql,只是不使用關係。沒有關係的存在,就表示每個資料都好比是擁有一個單獨的儲存空間,然後一個聚集索引來指向。搜尋效能一定會提高的。第三,語言。使用javascript語法進行操作更加高效、直接。這些是MongoDB針對關係型資料庫的效率要高的原因。但是不能僅僅看重效率,這種資料庫的設計帶來的弊端也是有的。例如資料關係的維護會帶來很多冗餘資料、客戶端程式碼需要大量針對資料庫進行的IO操作、資料探勘難以實現等等。
但MongoDB相比MySQL也有一些缺點:
不支援事務操作
佔用空間過大
MongoDB沒有如MySQL那樣成熟的維護工具
無法進行關聯表查詢,不適用於關係多的資料
複雜聚合操作透過mapreduce建立,速度慢
模式自由,自由靈活的檔案儲存格式帶來的資料錯誤
但MongoDB相比MySQL也有一些缺點:
不支援事務操作
佔用空間過大
MongoDB沒有如MySQL那樣成熟的維護工具
無法進行關聯表查詢,不適用於關係多的資料
複雜聚合操作透過mapreduce建立,速度慢
模式自由,自由靈活的檔案儲存格式帶來的資料錯誤
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2147588/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 既然有MySQL了,為什麼還要有MongoDB?MySqlMongoDB
- 我為什麼放棄MySQL?選擇了MongoDBMySqlMongoDB
- 什麼是MongoDB?Python爬蟲為什麼使用MongoDB?MongoDBPython爬蟲
- 為什麼 PostgresSQL 比 mySQL 更受歡迎?MySql
- MySQL中MyISAM為什麼比InnoDB查詢快MySql
- mongodb和mysql有什麼區別MongoDBMySql
- 為什麼ElasticSearch比MySQL更適合全文索引ElasticsearchMySql索引
- MongoDB和MySQL比較MongoDBMySql
- [TEAP早期試讀]《MongoDB in Action》——為什麼選擇MongoDB?MongoDB
- MySQL 中 MyISAM 中的查詢為什麼比 InnoDB 快?MySql
- 為什麼Git比SVN好Git
- 為什麼我會從MongoDB遷移到PostgreSQLMongoDBSQL
- MySQL DBA 技術難度低為什麼工資比 Oracle 高?MySqlOracle
- 為什麼 call 比 apply 快?APP
- 什麼是MongoDBMongoDB
- MySQL為什麼要set namesMySql
- 為什麼REST比GraphQL更好? - TomaszJaskuλaREST
- 為什麼 HTTPS 比 HTTP 更安全?HTTP
- 為什麼nginx效能比apache效能好NginxApache
- WebAssembly 為什麼比 asm.js 快?WebASMJS
- 蔣鑫:為什麼 Git 比 SVN 好Git
- MongoDB 雜湊分片為什麼資料大小不均勻?MongoDB
- 為什麼你應該永遠不要再使用MongoDBMongoDB
- mysql為什麼加索引就能快MySql索引
- MySQL 連線為什麼掛死了MySql
- MySQL 連線為什麼掛死了?MySql
- MySQL為什麼選B+樹MySql
- MySQL為什麼不要多表關聯?MySql
- MySQL和MongoDB設計例項對比MySqlMongoDB
- Promise為什麼比setTimeout先執行?Promise
- 為什麼python比c更簡單Python
- 面試官:為什麼 Promise 比setTimeout() 快?面試Promise
- index為什麼可能會比table大很多Index
- 為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?程式設計師
- MySQL Connectors為什麼沒有javaMySqlJava
- Mysql:好好的索引,為什麼要下推?MySql索引
- MySQL實戰 | 為什麼要使用索引?MySql索引
- MySQL索引為什麼使用B+樹?MySql索引