Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
Asp.net 页面视图数持久化-XML文件与SQL数据库_Asp.net_Sql Server_Hitcounter_Xml - Fatal编程技术网

Asp.net 页面视图数持久化-XML文件与SQL数据库

Asp.net 页面视图数持久化-XML文件与SQL数据库,asp.net,sql-server,hitcounter,xml,Asp.net,Sql Server,Hitcounter,Xml,我已经实现了一个页面点击计数器,它统计我网站上页面的页面浏览量。然后,我显示按页面浏览次数排序的页面名称 我使用用户的ip使其唯一,因此同一ip不会被计算多次。 xml文件结构为: <page id="123" count="2"> <ip address="xx.xx.xx.xx" /> <ip address="yy.yy.yy.yy" /> ... </page> ... 我相信,随着越来越多的用户使用该网站,并向

我已经实现了一个页面点击计数器,它统计我网站上页面的页面浏览量。然后,我显示按页面浏览次数排序的页面名称

我使用用户的ip使其唯一,因此同一ip不会被计算多次。 xml文件结构为:

 <page id="123" count="2">
   <ip address="xx.xx.xx.xx" />
   <ip address="yy.yy.yy.yy" />
   ...
 </page>

...
我相信,随着越来越多的用户使用该网站,并向该网站添加更多的页面,xml文件将变得越来越大,它可以达到1000000行甚至更多。这是一个大约45MB或更多的文件估计。 所以,我的问题是:

性能方面:哪一个更好:上面的XML文件或SQL Server(例如,两个表-第一个用于页面,第二个用于ip)?
谢谢。

XML处理不是SQL Server最强大的部分。最好的选择是准备数据库模式来处理您的解决方案。在您的情况下,两个表就足够了。

XML非常适合数据交换(特别是在独立的异构系统之间),但在我看来,它不适合数据存储(过于冗长,没有针对存储进行优化)。您是使用sql server还是使用不同的文件类型?如果是sql server,您会使用1个或2个表吗?sql server或其他一些数据库系统,例如SQLite或其他什么。我肯定会使用两个表——一个用于页面,另一个用于访问该页面的IP——这是存储此类内容的正确标准化方法