Database design 将表数据移动到另一个表字段
有一个为照片投票的任务。因为用户只能为照片投票一次,所以我应该保存他们。我不打算为保存用户ID创建单独的表,而是将它们保存在blob字段中的photo table中,用任何分隔符分隔。 你对这种做法怎么看?有什么隐患吗?Database design 将表数据移动到另一个表字段,database-design,database,Database Design,Database,有一个为照片投票的任务。因为用户只能为照片投票一次,所以我应该保存他们。我不打算为保存用户ID创建单独的表,而是将它们保存在blob字段中的photo table中,用任何分隔符分隔。 你对这种做法怎么看?有什么隐患吗? 我知道,使用这种结构,我将减少查询和联接的数量。不要这样做。你所尝试的并不罕见,但几乎总是不明智的。制作另一个表来存储每个用户每张照片的投票。您是在(错误的)假设下操作的,即减少联接并将此数据存储在blob字段中会比将投票存储在表中带来性能优势,这是非常(非常)不可能的 一些想
我知道,使用这种结构,我将减少查询和联接的数量。不要这样做。你所尝试的并不罕见,但几乎总是不明智的。制作另一个表来存储每个用户每张照片的投票。您是在(错误的)假设下操作的,即减少联接并将此数据存储在blob字段中会比将投票存储在表中带来性能优势,这是非常(非常)不可能的 一些想法:
我认为您可能遇到的问题是可伸缩性。如果这个照片投票网站变得非常流行,这些blob将变得非常大,并将给服务器端处理语言(php、asp等)带来更大的负载
我的一般经验法则是,数据库是由程序员设计的,在处理数据方面比我做得好得多。您对数据的处理很可能不会像数据库那样高效。换句话说,使用联接,而不是自己对其进行后处理。带有分隔符的blob字段是存储数据最糟糕的方式之一。使用外键和外键上的索引将其正确存储在子表中