mongodb为啥比mysql快

author author     2023-04-17     319

关键词:

mongodb 会比mysql快的多,原因是:
首先是内存映射机制,数据不是持久化到存储设备中的,而是暂时存储在内存中,这就提高了在IO上效率以及操作系统对存储介质之间的性能损耗。(毕竟内存读取最快)

其次,NoSQL并不是不使用sql,只是不使用关系。没有关系的存在,就表示每个数据都好比是拥有一个单独的存储空间,然后一个聚集索引来指向。搜索性能一定会提高的。

第三,语言。使用javascript语法进行操作更加高效、直接。

这些是MongoDB针对关系型数据库的效率要高的原因。但是不能仅仅看重效率,这种数据库的设计带来的弊端也是有的。例如数据关系的维护会带来很多冗余数据、客户端代码需要大量针对数据库进行的IO操作、数据挖掘难以实现等等。
参考技术A 首先是内存映射机制,数据不是持久化到存储设备中的,而是暂时存储在内存中,这就提高了在IO上效率以及操作系统对存储介质之间的性能损耗。(毕竟内存读取最快)其次,NoSQL并不是不使用sql,只是不使用关系。没有关系的存在,就表示每个数据都好比是拥有一个单独的存储空间,然后一个聚集索引来指向。搜索性能一定会提高的。第三,语言。使用javascript语法进行操作更加高效、直接。这些是MongoDB针对关系型数据库的效率要高的原因。但是不能仅仅看重效率,这种数据库的设计带来的弊端也是有的。例如数据关系的维护会带来很多冗余数据、客户端代码需要大量针对数据库进行的IO操作、数据挖掘难以实现等等。所以,应当针对应用系统来选择合适的数据存储介质才是优先需要考虑的。本回答被提问者采纳

mongoDB vs mySQL——为啥在某些方面比另一个更好[关闭]

】mongoDBvsmySQL——为啥在某些方面比另一个更好[关闭]【英文标题】:mongoDBvsmySQL--whyoneisbetterthananotherinsomeaspects[closed]mongoDBvsmySQL——为什么在某些方面比另一个更好[关闭]【发布时间】:2013-06-0516:52:39【问题描述】:我对数据库... 查看详情

为啥顺序写入比 HDD 上的随机写入快

】为啥顺序写入比HDD上的随机写入快【英文标题】:whysequentialwriteisfasterthanrandomwriteonHDD为什么顺序写入比HDD上的随机写入快【发布时间】:2020-08-2722:50:36【问题描述】:就像在文件尾部附加日志条目,或者就像mysql记录它的重做... 查看详情

MongoDB 查询 lte 比 gte 快

】MongoDB查询lte比gte快【英文标题】:MongoDBqueryfasterltethangte【发布时间】:2016-11-1717:53:02【问题描述】:这个问题快把我逼疯了。我有一个收藏:varethTransactionSchema=newmongoose.Schema(blockNumber:Number,blockHash:String,hash:String,transactionIndex:N... 查看详情

为啥 removeChild 比 innerHTML = ' ' 快?

】为啥removeChild比innerHTML=\\\'\\\'快?【英文标题】:WhyremoveChildfasterthaninnerHTML=\'\'?为什么removeChild比innerHTML=\'\'快?【发布时间】:2020-10-1904:25:29【问题描述】:我有两个函数从thisanswer到另一个问题:1.constdestroy=container=>document.... 查看详情

为啥字典比列表快得多?

】为啥字典比列表快得多?【英文标题】:Whyisdictionarysomuchfasterthanlist?为什么字典比列表快得多?【发布时间】:2013-06-0309:10:47【问题描述】:我正在测试从DictionaryVS列表中获取数据的速度。我用这段代码测试过:internalclassProgr... 查看详情

为啥 MySQL JOIN 比 WHERE IN (子查询) 快得多

】为啥MySQLJOIN比WHEREIN(子查询)快得多【英文标题】:whyisMySQLJOINsignificantlyfasterthanWHEREIN(subquery)为什么MySQLJOIN比WHEREIN(子查询)快得多【发布时间】:2010-11-1717:11:38【问题描述】:我试图更好地理解为什么这种查询优化如此重要(快... 查看详情

为啥交叉应用比内连接快?

】为啥交叉应用比内连接快?【英文标题】:Whycrossapplyisfasterthaninnerjoin?为什么交叉应用比内连接快?【发布时间】:2014-03-2601:15:01【问题描述】:我有以下功能:FunctionA-returnsObjectIDandDetailIDFunctionB-returnsDetailIDandDetailName以下查... 查看详情

为啥 DataTable 比 DataReader 快

】为啥DataTable比DataReader快【英文标题】:WhyisDataTablefasterthanDataReader为什么DataTable比DataReader快【发布时间】:2012-11-1823:34:27【问题描述】:所以我们在工作中就采取哪种DataAccess路由进行了激烈的辩论:DataTable还是DataReader。免责... 查看详情

为啥“真或假”比“假或真”快? [复制]

】为啥“真或假”比“假或真”快?[复制]【英文标题】:Whyis\'TrueorFalse\'fasterthan\'FalseorTrue\'?[duplicate]为什么“真或假”比“假或真”快?[复制]【发布时间】:2015-12-0502:55:13【问题描述】:我运行了代码a=Trueb=Falsec=Falsed=Falsee=Fal... 查看详情

为啥 MSMQ 比 WCF QueueService 快?

】为啥MSMQ比WCFQueueService快?【英文标题】:WhyisMSMQfasterthanWCFQueueService?为什么MSMQ比WCFQueueService快?【发布时间】:2012-07-0317:35:57【问题描述】:我在控制台中使用netNamedPipeBinding绑定自托管WCF服务。该服务只有一个空方法Send(DataT... 查看详情

为啥 mmap()(内存映射文件)比 read() 快

】为啥mmap()(内存映射文件)比read()快【英文标题】:Whymmap()(MemoryMappedFile)isfasterthanread()为什么mmap()(内存映射文件)比read()快【发布时间】:2015-05-2017:52:29【问题描述】:我最近正在研究JavaNIO的MappedByteBuffer。我读过一些关于... 查看详情

为啥 WebGL 比 Canvas 快?

】为啥WebGL比Canvas快?【英文标题】:WhyWebGLisfasterthanCanvas?为什么WebGL比Canvas快?【发布时间】:2015-05-0604:47:03【问题描述】:如果两者都使用硬件加速(GPU)来执行代码,为什么WebGL比Canvas更快?我的意思是,我想知道为什么在底... 查看详情

为啥公共领域比属性快?

】为啥公共领域比属性快?【英文标题】:Whyarepublicfieldsfasterthanproperties?为什么公共领域比属性快?【发布时间】:2010-10-1213:57:26【问题描述】:我在XNA中四处寻找,发现其中的Vector3类使用公共字段而不是属性。我尝试了一个... 查看详情

为啥 Presto 比 Spark SQL 快 [关闭]

】为啥Presto比SparkSQL快[关闭]【英文标题】:WhyPrestoisfasterthanSparkSQL[closed]为什么Presto比SparkSQL快[关闭]【发布时间】:2018-10-0510:38:15【问题描述】:为什么Presto比SparkSQL快?除了Presto和SparkSQL在计算架构和内存管理上有什么区别?... 查看详情

为啥 != 运算符比 = 运算符快?

】为啥!=运算符比=运算符快?【英文标题】:Whyisthe!=operatorfasterthanthe=operator?为什么!=运算符比=运算符快?【发布时间】:2021-04-1414:50:23【问题描述】:我有一个SQLite数据库并执行以下查询:SELECTcategory,name,COUNT(side.id)asnbFROMmainLEF... 查看详情

为啥 50 个线程比 4 个线程快?

】为啥50个线程比4个线程快?【英文标题】:Whyare50threadsfasterthan4?为什么50个线程比4个线程快?【发布时间】:2013-04-2822:05:59【问题描述】:DWORDWINAPIMyThreadFunction(LPVOIDlpParam)volatileautox=1;for(autoi=0;i<800000000/MAX_THREADS;++i)x+=i/3;return... 查看详情

为啥快速整数类型比其他整数类型快?

】为啥快速整数类型比其他整数类型快?【英文标题】:Whyarethefastintegertypesfasterthantheotherintegertypes?为什么快速整数类型比其他整数类型快?【发布时间】:2020-04-2221:37:47【问题描述】:在ISO/IEC9899:2018(C18)中,它在7.20.1.3下规定... 查看详情

为啥扩展的 ArrayObject 比原始的 ArrayObject 快?

】为啥扩展的ArrayObject比原始的ArrayObject快?【英文标题】:WhyisanextendedArrayObjectfasterthantheoriginalArrayObject?为什么扩展的ArrayObject比原始的ArrayObject快?【发布时间】:2013-12-3010:36:27【问题描述】:首先我找到了这个objectvsarray,然... 查看详情