我有一个PHP函数,根据数据库/ XML中是否存在特定数据,返回'true'或'false'
此搜索查询将在网站的每个页面加载时执行。
哪个选项会更好 - SQL DB或以XML格式存储的数据。 由于页面加载/访问次数较多,因此对服务器性能的负载和影响较小。
我不需要修改或插入数据,只是搜索。
谢谢
-------更新--------
另一种方式,我想的是以文件名的形式存储所有信息(字符串)。 [例如 - 具有1000个不同名称的文件的目录] 现在,我可以在目录中搜索特定文件(例如-457.txt),以查看该文件是否存在。
<?php
if(file_exists('457.txt'){
echo "file exists";
}
与XML查询相比,服务器上的负载量是多少? SQL查询?
主要目的是查看服务器上是否已存在特定数据。
答案 0 :(得分:0)
如果你有理由担心用户/系统负载,我会反对XML文件解决方案,但不是你想到的原因。它更多的是关于并发性。如果几个进程同时更新文件会发生什么?写入文件会引起对您可能很快遇到的锁定问题的担忧。
文件名的想法很有意思,但可能会严重缩放,并且除了深入了解操作系统,FS和存储层的复杂性之外,不允许您执行比具有可接受性能的单项存在搜索更多的功能。这一切都取决于您打算存储的数据量以及您打算如何访问它。
一体化,数据库是满足这些需求的最通用的存储解决方案,并允许您使用简单明确的语言执行查询,以及许多其他优势(ACID事务[https://en.wikipedia.org/wiki/ACID],可伸缩性...)。