php - 超过 100 个表的大规模 SQL 查询

标签 php mysql sql xml database

我最近被要求为网站的营销模块制作一个简单的模块,我被要求制作一组非常具体的结果,其中的原始数据可通过 MySQL 数据库访问。起初我认为非常简单,但是当面对表格时我意识到我需要改变我的方法。

我面临的问题是,我需要的数据是用户在浏览网站特定部分时的操作日志。用户从登录到退出的每一个 Action 都被记录下来,每天访问网站的人数只允许这个系统运行大约2天,然后数据被归档到另一个表中,总共有100个表加上现场直播,给我大约 202 天的数据可供随时使用。

所以这是我的问题。

考虑到这些表存储的数据量和归档表的绝对数量(可能会或可能不会限制为 100 个),并且客户希望根据特定页面的操作将所有数字显示在屏幕上你会推荐这样做吗?

根据数据库设置,直接使用 SQL 查询可能可行也可能不可行,因此我考虑了一些选项,从 XML 到使用基于页面和数据的 chron 将数据序列化为文件结构,但最终我不是100% 我应该走哪条路,所以我想问问,有没有人有更好的主意?如果是,请分享。

在此先感谢所有回复的人。

最佳答案

您不想直接查询此数据。您想要创建包含您现在需要的信息的中间表,然后再添加一些。

具体格式取决于问题的性质。例如,每个“ session ”都有一个记录,其中列描述 session 中发生的事情可能是合适的。或者,如果您只对客户感兴趣,您可以制作一个客户签名,其中包含一堆值。

挑战之一是数据跨越日期之间的界限。因此,您将在一张表中打开“登录名”而不是另一张表。这再次造成多大的问题取决于数据的使用方式。但是,您应该考虑应对策略。

如果您有很多用户在一个网站上执行很多步骤,那么直接对照所有数据会很有趣,容我说。好吧,如果您在系统处理数据时休长假,那么它实际上可能很有趣。

关于php - 超过 100 个表的大规模 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15071732/

相关文章:

php - 在异常中使用 print_r?

php - Laravel 在 hasManyThrough 中包含用户的帖子

java - 如何使用pid杀死进程

c# - EF 核心 : Invalid column name 'companyId1'

php - 如何将多个参数传递给 codeigniter 中的函数或查询

php - 将数据数组转换为 php 中的表

php - Laravel - 让用户在创建后插入类别并创建新类别(如果不存在)

mysql - 在mysql查询中添加列的最佳方法

mysql - 在 MySQL 中查找缺失的选票

案例内的 MYSQL 条件不起作用