SQL Server数据库中的排序列表
|
我想知道是否有可能/在数据库中维护一个排序列表。
例如,我有一个优先级为1〜100的项目列表。每次插入时,数据库都可以将其插入适当的位置,这样,当我调用
.select(20)
时,数据库可以向我返回优先级最高的前20个项目。
没有找到相关结果
已邀请:
2 个回复
豪抱怒掳
要么
为该字段添加索引可能也是一个好主意。 这是一个非常持久的解决方案。利用行实际存储在表中的顺序的任何其他解决方案都将非常脆弱。
妒垮
是另一种方法,该方法的优点是成为标准SQL并在SQL Server中受支持)。请注意,这会向表中添加一列(如果需要的话,为relvar的属性),这不是\'sorted list \',但似乎是您所需要的。 是个好主意吗?显然,如果这对您的应用程序/企业是必需的,那么在数据库中维护这些值确实是适当的。 每次插入时,数据库都可以 将其插入正确的位置 请注意,如果您有100行具有唯一的
属性值1-100,并且需要将value5ѭ值设置为
,则现有值55-100将需要加1,并且数据库不会为您这样做除非您已经在数据库对象中编写了过程代码(例如触发器)。如果您只需要管理ѭ5not(而不是
或a9 bes),那么更好的方法可能是以更大的差距开始,例如您最初的100行可能有
个值1000、2000、3000,... 100000。现在,与以前相同的“ 5”可以通过将属性分配为“ 12”而在54000和55000之间进行,而无需重新分配任何值。