database - 数据库表智能显示顺序

标签 database algorithm

我们数据库中的许多表都使用字段“display_order”来决定屏幕上记录的顺序。我们正在为这个字段使用 int。一开始,当我们插入记录时,我们会在它们之间留下一些间隙,例如,我们给第一条记录 display_order = 0,第二条记录 display_order = 1000。这样我们在第一条和第二条记录之间就有了一些间隙。所以如果我们想在这两者之间插入一条新记录,我们可以给一个display_order = 500。

这种方法有一个限制,当你用完 2 个相邻记录之间的间隙时,你必须开始更新许多记录的 display_order 以制造一些间隙。

我考虑过为此使用 float 或仅使用字符串,但不确定这是否会影响比较性能。

根据您的经验,您对此有何看法?

干杯, 埃尔顿

最佳答案

float 应该不会对性能产生任何影响,这是迄今为止最简单的解决方案:只需使用周围值的平均值。在病态的情况下,您可能会用完除法位,因此您需要确保平均值与周围的两个值不同,如果结果相同,则需要重新编号。但这不应该经常发生。

关于database - 数据库表智能显示顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14449052/

相关文章:

c# - 如何获取cassandra中键空间的所有表的列表

mysql - 最佳+最强的数据库加密方法

c# - 将对象从列表框添加到另一个

database - 如何在 VB.Net 中使用数据库查询创建 Excel 文件?

根据字母查找相似词的算法

database - 启动具有许多交互的社交应用程序时要避免的代码和服务器陷阱?

arrays - 查找数组中长度为 k 的所有子集

对 p 和 q 之间(包括)之间的数字求和的算法

在客户端/服务器之间同步文本的算法

algorithm - 如何最好地将一个文件分成 N 个部分,其中 M 个冗余部分,使得 N+M 个部分中的任何 N 个都足以重建它?