0

我目前正在处理一个不是我制作的项目,但它使用了很多 XML 文件而不是 MySQL 来代替它。

正因为如此,这让我想知道在 MySQL 上使用 XML 是否真的有任何好处。

场景是,XML 文件只加载一次,并在服务器上用于它所做的 N 件事。仅当管理员向服务器发出命令以重新加载 XML 时,才会重新加载 XML。所有 XML 文件的平均最大大小为 100 mb。

如果您也可以给我一些关于 XML 在 MySQL 上的使用的简短介绍,我将不胜感激。

我应该考虑什么时候才能知道 XML 何时比简单的 innodb 或 myisam 表更好?

4

4 回答 4

2

如果您的数据是只读的并且仅在管理员的命令下才被带入内存,那么我认为这对这两种技术都没有太大的优势。

如果您必须搜索数据,MySQL 将具有 SQL 查询的优势。即使在这种情况下,重要的数据类型也是如此。如果您有很长的参考链/对象图,那么关系数据库可能会因为所有的 JOIN 而变慢。

但是 XML 有它自己的问题。您可以轻松地将其解析为 DOM 对象,但是您只有 XPath 来搜索它。

于 2011-01-09T14:10:14.367 回答
1

XML 被用作存储数据的一种方式。使用 xml 之一是,它使数据易于阅读。如果有很多用户需要同时访问数据,则可以使用 mysql,并且 mysql 还支持数据的事务处理,而 xml 没有这些功能。

于 2011-01-09T14:09:49.473 回答
1

只需在两者之间添加选项-您还可以使用某种形式的 xml 数据库,例如

eXist ( http://exist-db.org/index.html ) 或 sedna ( http://modis.ispras.ru/sedna/ )

于 2011-01-09T14:20:35.643 回答
0

XML 存储在本地存储中,只能由本地服务器读取(不要争论我你可以使用 memcache,通过 rsync 左右复制)

毫无疑问,您可以通过 http 服务器打开 XML,但速度会很慢。

虽然mysql支持端口通信和复制,但如果扩展到多台服务器,它基本上没有界限。

甚至在 5.1 中,mysql 也支持 XML

于 2011-01-09T14:19:46.050 回答