首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XML和MySQL数据库有什么不同?我应该使用哪一个?

问使用XML和MySQL数据库有什么不同?我应该使用哪一个?
EN

Stack Overflow用户
提问于 2009-08-06 10:00:34
回答 9查看 15.4K关注 0票数 13

嗯,我知道这有点傻。如果我想存储大量数据。我应该使用xml还是数据库(Mysql)?

你为什么选那一个?

使用xml的利弊是什么?

使用mysql的利弊是什么?

俱乐部企鹅,哈博酒店,这些虚拟世界正在使用xml或mysql??

EN

回答 9

Stack Overflow用户

发布于 2009-08-06 10:12:10

MySQL (或SQL Server、Oracle、DB2等)是数据库引擎:它们是为数据存储和处理而构建的特定应用程序,并且在这方面非常擅长;它们也可以在不同于主程序所在的服务器上运行,从而允许负载共享。

XML文件只是存储在您的机器或另一台机器上的文本文件;它们需要被读取、解析和写入,只有您的程序才能做到这一点。它们的效率也非常非常低,因为它们的文本性质:读取和解析文本文件非常慢,修改它甚至更糟。

XML文件对于存储配置设置和在不同系统之间传递数据很好,但是数据存储和处理一定要放在合适的DBMS中。

还有,obligatory Joel Spolsky reference。

票数 22
EN

Stack Overflow用户

发布于 2009-08-06 12:17:59

假设您有一个XML文档,其中包含一个嵌套的person元素,该元素包含每个用户的信息,并且您有3000个用户。如果你想提取一个人的信息,你将有相当多的任务来解析这个巨大的文件来找到这个人的信息。您可能会使用一些巧妙的方法来跳过文件,但最终还是会有大量的顺序访问。

对于数据库,您通常会有索引,这将允许您非常快速地执行类似上面的搜索任务。在上面的场景中,在索引表中查找个人的速度可能会快100倍左右。

票数 5
EN

Stack Overflow用户

发布于 2009-08-06 10:57:17

这在很大程度上取决于您想要存储的数据类型。如果您主要存储面向文档的内容,那么XML可能是一个很好的选择。如果要存储许多小层次结构,XML可能比SQL更好。读取和解析XML文件所需的时间肯定比从数据库中获取简单查询所需的时间要长。但是,如果您有不适合数据库的数据,那么查询的成本可能会急剧上升,实际上不仅仅是使用XML文件。

您可以尝试的另一个选择是使用XML数据库,例如Xindice (http://xml.apache.org/xindice/)。XML数据库目前还没有被广泛使用,主要是因为我们没有关于层次化数据库的良好数学理论。但如果你有正确的问题,它们真的很有用……

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1238749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档