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

标签 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设置pageviews =?其中ad_id =?”有新数据吗?

6)据我所知,方法(i)的问题是,如果网站点击率很高,数据库很容易变得非常大。稍后我需要使用表中的数据创建某种报告,所以这不会造成问题吗?方法(ii)的问题是,要使用最新数据运行更新命令,我需要先运行 select 命令来获取以前的数据并手动增加浏览量信息,这将比第一种方法消耗更多的资源(但表格大小会更合理)。

希望你们能理解我的问题

谢谢

最佳答案

在(ii)中,您可以使用单个更新sql来更新综合浏览量:

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

如果你只是统计浏览量,你最好选择(ii),如果你想得到每次访问的所有详细信息,你需要另一个表来存储它。

关于php - 将广告分析信息存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23486196/

相关文章:

php - jQuery 点击时执行太多次

php - 使用 jquery、ajax、json、php 进行实时搜索

php - TYPO3——CentOS 上服务器更改后使用 RSA 的后端登录

phpunit 在 Yii2 中找不到应用类

php - 用 PHP 执行 Linux 命令?

mysql "where"和 "or"语句

PHP错误: "Filename cannot be empty"

MySQL:查找不匹配的记录(JOIN/IS NULL)

MYSQL sum of item purchases and its 'up'/'down' 票数乘以22?

mysql - 无法打开 MySQL 实用程序