将广告分析信息存储在数据库中

时间:2014-05-06 04:53:05

标签: php mysql

这是我的情景。

1)我有一个显示横幅广告的网站

2)横幅广告将由php文件bannerviewer.php。

显示

3)主页面(index.php)将调用bannerviewer.php,就像这样

   $promotion = "bannerviewer.php?ad_id=1&user_id=123";
   echo $promotion;

4)文件bannerviewer.php将能够在数据库中存储被叫广告的ID(ad_id)和查看者的ID(user_id)

5)我的问题是,为这种情况存储ad_id和user_id的最佳做法是什么?我应该只在每次调用页面bannerviewer.php时运行(i)“插入analytics_table(ad_id)值(?)”命令,或者(ii)“更新analytics_table set pageviews =?where ad_id =?”新数据?

从我看到的方法(i)的问题是,如果网站获得大量点击,数据库可以很容易地变得非常大。后来我需要使用表中的数据创建某种报告,这不会造成问题吗?方法(ii)的问题是,要运行带有最新数据的更新命令,我需要首先运行select命令以获取先前的数据并手动递增页面视图信息,这将比第一种方法消耗更多的资源(但是表格大小会更合理。)

希望你们理解我的问题

感谢

1 个答案:

答案 0 :(得分:1)

在(ii)中,您可以使用单个更新sql更新网页浏览:

UPDATE `analytics_table` SET `pageviews` = `pageviews` + 1 where ad_id = x

如果您只计算网页浏览量,最好选择(ii),如果您想获得每次访问的所有详细信息,则需要另一个表来存储它。