php – 在每个页面视图上插入数据库行
发布时间:2020-12-13 17:39:08 所属栏目:PHP教程 来源:网络整理
导读:我正在研究一个需要在 MySQL表中保存页面每个视图的日志的系统.仅当访问者在过去24小时之前未访问该页面时,才会记录该视图.我想知道在性能和数据库大小方面这样做是否会成为一个问题. 需要这样做的网站平均每天有大约60,000个独特的综合浏览量,因此每天大约
我正在研究一个需要在
MySQL表中保存页面每个视图的日志的系统.仅当访问者在过去24小时之前未访问该页面时,才会记录该视图.我想知道在性能和数据库大小方面这样做是否会成为一个问题.
需要这样做的网站平均每天有大约60,000个独特的综合浏览量,因此每天大约增加60,000个新行(每2秒不到1个).该表只有3列:i_id,ip_address,timestamp. i_id是另一个表的外键. 该表将在每天结束时使用CRON脚本清除. 这样做会不会立即造成数据库紧张?例如,如果网站流量激增(它经常发生),它可以在一天内拍摄超过200,000次网页浏览量,这意味着每秒超过2次查询. 解决方法
一般约定是在审计表上没有约束(主要的,外来的等),当然也没有索引 – 以上所有都会减慢插入速度.
批量插入可以考虑 – 批量插入以减少数据库所需的连接数,操作所涉及的时间量(一对多).此外,如果为此编写事务日志 – 最小化写入它们,因为如果您希望能够在某个时间点恢复数据库,则需要写入IO可能会影响数据库. 我没有看到在一天结束时清理记录的意义 – 两天内发生的流量怎么样? MySQL partitioning would likely be a better idea. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |