时间戳排序遇到的问题思考

C 2018-4-27 7333

给博客按时间戳进行排序,期间遇到一个问题:

如果在某一秒同时有几百人发帖,远远超出分页,那分页依据只根据时间戳的话,就没法往后翻下去了。

于是我把`time`-`tid`同时写进了分页依据里,并在游客访问时将两个参数同时用于分页。

类似于读取:`time`<=某时间 AND `tid`<=某贴,这样。

不给也衍生出一个问题,因为mysql的机制,假设我帖子ID是999999999999999,某人故意将分页依据tid改为9999999,那么读取时`time`<=某时间会返回巨大的基数,mysql会去从999999999999999个帖子中寻找9999999,效率极低。

所以为了防止这种而已修正,我需要在子函数中先判断是否存在time,tid这样一贴,如果有的话则正常读取,否则只根据time基数进行读取。即我在上贴写到的:https://uids.net/thread-154.htm

最新回复 (0)