Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XML和MySQL数据库的区别在哪里?我应该用哪一种?_Mysql_Xml_Database - Fatal编程技术网

使用XML和MySQL数据库的区别在哪里?我应该用哪一种?

使用XML和MySQL数据库的区别在哪里?我应该用哪一种?,mysql,xml,database,Mysql,Xml,Database,嗯,我知道这有点愚蠢。如果我想存储大量数据。我应该使用xml还是数据库(mysql) 你为什么选那个 使用xml的优缺点是什么 使用mysql的优缺点是什么 Clubpenguin,habbo酒店,那些虚拟世界正在使用xml或mysql???大多数大型网站都在使用类似mysql的数据库 您需要回答的最重要的问题是如何访问数据。如果你想让很多人每秒查找很多次(例如一个流行的网站),那么就使用mysql之类的数据库。我相信他们更可能使用成熟的DBMS作为后台存储,而只生成/解析XML作为接口 XML

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

你为什么选那个

使用xml的优缺点是什么

使用mysql的优缺点是什么


Clubpenguin,habbo酒店,那些虚拟世界正在使用xml或mysql???

大多数大型网站都在使用类似mysql的数据库


您需要回答的最重要的问题是如何访问数据。如果你想让很多人每秒查找很多次(例如一个流行的网站),那么就使用mysql之类的数据库。

我相信他们更可能使用成熟的DBMS作为后台存储,而只生成/解析XML作为接口

XML太重,无法用于高数据存储数据库

该结构解析过于繁重,即使您有某种基于XML数据启动、解析然后运行的服务器,初始化时间也将是致命的,每次写操作完成后,数据重新序列化阶段也是如此

RDBMS的优势在于,它具有更高效的压缩数据存储,可预测地搜索/查找记录、多个数据存储和多个标记

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

XML文件只是存储在您的机器或其他机器上的文本文件;它们需要被读取、解析和写入,只有您的程序才能这样做。由于它们的文本性质,它们的效率也非常非常低:读取和解析文本文件的速度非常慢,而修改文本文件的速度更差

XML文件对于存储配置设置和在不同系统之间传递数据是很好的,但是数据存储和处理肯定应该在适当的DBMS中进行


另外,.

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

您可以尝试的另一个选项是使用XML数据库,例如Xindice()。XML数据库目前使用得不多,主要是因为我们没有很好的关于层次数据库的数学理论。但是如果你有正确的问题,它们真的很有用…

这似乎更像是一个问题,而不是一个服务器故障问题。无论如何

如果需要随机访问数据元素,请使用真实的数据库。如果您只是在做批处理之类的事情,xml可以工作,但数据库也可以


如果不需要使用关系属性存储数据,可以尝试使用键/值存储或面向文档的数据库,而不是RDBMS,以获得更好的性能/可伸缩性,从而减少功能。

考虑一下,如果您的XML文档中包含嵌套的person元素,其中包含每个用户的信息,你有3000个用户。如果你想为一个人提取信息,你将要完成一项相当艰巨的任务,那就是解析这个巨大的文件以找到那个人的信息。您可以使用一些巧妙的搜索来跳过文件,但最终会有很多顺序访问

使用数据库时,通常会有索引,这将允许您非常快速地执行上述搜索任务。在上面的场景中,在索引表中查找个人可能要快100倍

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

首先,
XML
本质上是层次结构,而
MySQL
是关系型的

如果将数据存储为
XML
文档:

<customer>
 <address/>
 <address/>
</customer>

,获得客户的所有地址非常容易,但要获得给定地址的客户却不那么容易

其次,
XML
更面向用户。您可以使用最喜爱的文本编辑器轻松编辑它。在MySQL中,这并不容易

综上所述,如果您的数据是层次化的、较小的,并且您需要在没有任何前端的情况下轻松编辑它们,请使用
XML


如果您的数据是关系型的,并且需要对大量数据进行快速设置操作,请使用
MySQL

XML不是数据库,而是文件格式(或者更准确地说,是输入或输出流格式)。它允许您使用XML的语法元素定义自己的格式,然后您可以(例如)将内存对象转换为XML流并将其保存到磁盘

mySQL是一种软件产品,属于称为DBMS(数据库管理系统)的产品类别。DBMS管理您的数据并提供各种存储、检索、索引、查询和事务功能


您需要决定是需要文件格式还是管理系统。根据这一点,您可以选择XML(或其他格式,如JSON或纯文本文件)或mySQL(或其他关系型数据库管理系统,如MS SQL Server或Oracle,甚至可能是非关系型数据库管理系统)。

Markmail.org可能会让您感到惊讶,它是一个XML存储


阅读Ron Burret()是这方面的一个很好的资料来源。

如果你的问题没有错,这可能会更好,但我同意你可能会从SO cr那里得到关于这个主题的最佳意见