让我们设置舞台,PHP& MYSQL:
我有一个表格,我们会调用路线来保存给定任务的每个步骤。每个任务都有可变步骤。
此问题唯一真正必要的字段是(主要) step_id ,** task_id **,步骤。
当作者更新他们的指示时,他们可以更新每个步骤,添加新步骤,删除旧步骤。
我理解如何处理更新/插入/删除逻辑结构
INSERT ... ON DUPLICATE KEY ...
等等。
我关心的是其他地方。假设某人为任务#1写了指示,五个月后他们用几个新步骤更新任务#1。在那个时候,有1000个新任务。
任务#1的大多数步骤都位于说... step_id 1-10中,并且新步骤将在10001中下降,这真的是一个问题吗?
由于我没有对步骤进行特定的计算,这种情况下我最好将每个步骤作为序列化数组存储在一行中吗?
答案 0 :(得分:0)
我相信task_id对于这个问题也是非常重要的领域。如果对其编制索引,则无论选择给定任务的步骤如何,无论它们在表中的分隔程度如何,都不会出现任何性能问题。
对于序列化的步骤,您将遇到更多问题,因为您必须为每次更新/删除反序列化它们,再次序列化然后更新行,除非您限制每个任务的步骤数,否则您可能会遇到列大小的问题