PhpBB3 Database Structure Overview phpbb topics track
From PHPBB用户手册
CREATE TABLE `phpbb_topics_track` ( `user_id` mediumint(8) unsigned NOT NULL default '0', 用户ID `topic_id` mediumint(8) unsigned NOT NULL default '0', 主题ID `forum_id` mediumint(8) unsigned NOT NULL default '0', 主题所在的版面ID `mark_time` int(11) unsigned NOT NULL default '0', 标记的时间, 也就是用户阅读这个主题的时间 PRIMARY KEY (`user_id`,`topic_id`), KEY `forum_id` (`forum_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
这个表, 以及forum_track表, 只在 $config['load_db_lastread'] 为true的时候有用, 这个设置在管理员控制面板(ACP)->负载设置->允许服务器端标记(在数据库中保存已读/未读信息而不是存在cookie上).
在这个设置启用时, 论坛使用数据库而不是cookie来记录用户的阅读/未阅读信息, 在中小型的论坛中, 可以启用数据库记录, 而对于大型的数据库, 建议使用cookie, 因为这样能减轻数据库负载.
在实际的使用中, 大部分track记录会记载在forum_track表中. 只有在这种情况下, topics_track表中才会出现记录:
在版面1中, 用户A有10篇未读文章, 按发表时间最晚到最早依次为a, b, c, d, e, ... 而用户A只查看了除 a 以外的其他文章, 这时候在topics_track中就会记录下被访问的文章信息, 一旦用户A访问了最新的文章a, 那么这些信息会被清空, 而只在forum_track中更新最后的访问时间

