目前我正在使用mysql来记录所有用户进入我管理的网站的所有流量。数据库在一个月内增长到近1100万行,查询速度变得很慢。有没有更有效的方法来记录用户信息?我们所存储的是他们的请求,useragent和他们的ip,并将其与某个网站相关联。跟踪数据库中所有用户流量的最有效方式是什么
1
A
回答
4
为什么不尝试Google Analytics(分析)?即使你认为这对你来说不足够,我敢打赌你可以跟踪99%的你想跟踪的东西。
2
0
想要在数据上运行哪种查询?我假设你的大部分查询都是在当前或最近的时间窗口中的数据。我建议使用基于时间的表格分区。这会使查询更快,因为查询只会触及具有数据的分区,因此磁盘搜索量减少。还要定期清除旧数据并将其放在汇总表中。一些有用的链接:
0
最有效的方式可能是让Apache(假设多数民众赞成在该网站上运行的是什么),只需使用其内置的日志记录文本日志,并配置如AWStats。这消除了您自己记录此信息的需要,并且应该为您提供您正在查找的信息 - 可能已在现有报告中完成配置。这样做比谷歌分析的好处将是它的服务器端跟踪 - 等
0
也许说明明显,但你有一个很好的索引与您正在查询的关系?
0
1)看看使用Piwik执行Google Analytic类型跟踪,同时保留对MySQL数据的控制。 2)如果您必须继续使用您自己的系统,请使用InnoDB Plugin来支持压缩的表类型。另外,将IP转换为无符号整数,将useragent和request转换为使用Innodb压缩或归档引擎压缩的无符号整型引用查找表。
3)跳过分区并按月分割数据库。
0
这就是“数据仓库”的用途。考虑购买一本关于仓储的好书。
在某些“当前活动”模式中收集原始数据。 (a)从当前活动模式中分离出来,(b)针对计数/总和/分组查询进行优化。
移动,BTW表示插入仓库模式并从当前活动模式中删除。
将正在进行的事务处理与查询/分析处理分开。
相关问题
- 1. 跟踪MySQL数据库中每个用户的“被阻止的用户”的最有效方法是什么?
- 2. 跟踪所有设计登录的最佳方式是什么?
- 3. 如何以最有效的方式跟踪视图数量?
- 4. 什么是记录极少量数据的最有效方式?
- 5. 跟踪数据库中修改过的元组的最佳方式是什么?
- 6. 什么是持续更新和跟踪对象得分的最有效方式?
- 7. 你发现跟踪所有节目信息的最佳方式是什么?
- 8. 什么是使用核心数据的最有效方式?
- 9. 跟踪TCP连接客户端的最佳方式是什么?
- 10. 什么是工作流中的版本跟踪数据的最佳方法?
- 11. 这是批量插入Oracle数据库的最有效方式?
- 12. 跟踪字符串中标记的最有效方法是什么?
- 13. 收藏数据库中的东西 - 保持跟踪的最有效方法?
- 14. 什么是处理数据库中大量表的最有效方法?
- 15. 在SQLCe数据库中存储对象的最有效方式是什么?
- 16. 跟踪执行量角器测试所消耗的浏览器内存的最有效方法是什么?
- 17. 跟踪谁在请求什么数据的最佳方式?
- 18. 跟踪哪些用户在nodejs中联机的最佳方式是什么?
- 19. 什么是在c#中的表中存储大量数据的最有效的方式是什么?
- 20. 用php跟踪内部推荐的最佳方式是什么?
- 21. 在input type =“text”中跟踪onchange的最佳方式是什么?
- 22. 跟踪Aframe中传送位置的最佳方式是什么?
- 23. 跟踪用户使用MySQL选择的数字列表的最有效方法?
- 24. 将行为注入到所有实体中的最有效方式是什么?
- 25. 什么是从其他数据库更新表数据的最有效方法?
- 26. 将数据从数据库传输到服务器到客户端的最有效方式是什么?
- 27. 跟踪实时通知发送给用户的最佳方式是什么?
- 28. 在MySQL中使用字段的最有效方式是什么?
- 29. 检查mySQL数据库中现有用户的最佳方法是什么?
- 30. 跟踪用户在网站上执行的所有事件的最佳方法是什么?
你是如何查询这张桌子的? (例如,你总结整个表?为用户提取每个单独的记录吗?限制你的查询,例如时间范围? – nos 2010-06-03 17:03:22