【问题标题】:XML or SQL - Only Reading data frequentlyXML 或 SQL - 仅频繁读取数据
【发布时间】:2017-09-23 19:16:22
【问题描述】:

我有一个 PHP 函数,它根据数据库/XML 中是否存在特定数据返回“真”或“假”

此搜索查询将在网站的每个页面加载时执行。

哪个选项会更好 - SQL DB 或存储在 XML 中的数据。 由于页面加载/访问次数较多,这将对服务器性能产生较少的负载和影响。

我不需要修改或插入数据,它只是搜索。

谢谢

-------更新--------

另一种方式,我在想是以文件名的形式存储所有信息(字符串)。 [例如,一个目录有 1000 个不同名称的文件] 现在我可以在目录中搜索特定文件(例如 457.txt ),看看该文件是否存在。

<?php
if(file_exists('457.txt'){
echo "file exists";
}

与 XML 查询和 SQL 查询相比,它在服务器上的负载是多少?

主要目的是查看服务器上是否已经存在特定数据。

【问题讨论】:

    标签: php mysql sql xml


    【解决方案1】:

    如果您有理由担心用户/系统负载,我会反对 XML 文件解决方案,但不是出于您认为的原因。更多的是关于并发。如果多个进程同时更新文件会发生什么?写入文件会引起您对可能很快遇到的锁定问题的担忧。

    文件名的想法很有趣,但可能会严重扩展,并且不允许您执行超出可接受性能的单个项目存在搜索,除非您深入了解操作系统、FS 和存储层的复杂性。这完全取决于您打算存储的数据量以及您打算如何访问它。

    数据库是满足此类需求的最通用的存储解决方案,它允许您使用简单、明确的语言执行查询,以及许多其他优势(ACID 事务 [https://en.wikipedia.org/wiki/ACID]、可扩展性.. .).

    【讨论】:

    • 此搜索查询将在网站的每个页面加载时执行。所以,如果我使用数据库,那么我将创建数千个 SQL 连接。每次页面加载都会创建一个新的 SQL 连接。
    • 是的,数据库是用来处理它的。包括stackoverflow在内的所有动态网站都依赖于此,它是线性且可靠的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多