【发布时间】:2014-01-05 18:04:43
【问题描述】:
假设数据库表的每一行都包含有关搜索词的信息。该表有一个整数“排名”列来指示搜索词在网站上的显示顺序。
我如何最好地实施和维护这个排名顺序?
我要避免的问题是术语编号为 1,2,3,4,..,100,例如,当排名 50 突然变得有趣时,它将其新排名设置为 1,然后它们之间的所有术语必须将它们的排序号加一。
当然,将初始排序编号设置为 100、200、300、400 等会留下一些移动空间,但在某些时候它会中断。
另一种方法可以用一些固定的偏移量来间隔排列,但在现实世界的场景中它也可能会在某个时间中断。
所以有没有其他不同的方法来处理这个...... (这可能与搜索引擎如何保持排名和重新排序有关,但我找不到任何运气)
【问题讨论】:
-
不能认为是重复,这个问题是关于大型数据库中频繁更新行的相对独立等级。该排名字段中的所有数据都是完全独立的,可以根据系统需要(以防万一搜索算法)。 **没有其他列在索引/排名结果方面发挥任何作用**
-
@Jitendra 你已经解决了这个问题吗?
标签: mysql database database-design search-engine code-search-engine