许多小的单个参数或一个大的参数


Lots of small individual parameters or one big parameter

我想创建一个表,其中每个条目除了存储其他内容外,还存储许多(30~(不同的数值。理论上,这些值可以组合成一个大的字符串参数。考虑到性能,什么更好?我需要能够进行查询,可以单独访问每个数值,但不一定是在纯SQL中:如果我选择一个大参数,我需要使用php来解析我需要的内容。

如何存储此类数据的问题基本上取决于它的使用方式。

如果使用数据库访问单个参数值的可能性微乎其微,请将这些值存储在单独的列中。这种情况在很多情况下都会发生,例如:

  • select
  • 您希望根据特定值进行筛选
  • 您希望根据值联接到另一个表
  • 您需要计算一行中的值的数量
  • 您要按值排序

如果"数字"真的只是一个由其他进程使用的大blob,那么将它们存储为blob就可以了。但是,从数据库的角度来看,你应该这样看待它们——一个没有内部结构的大黑匣子。

另请注意:单行中的30个值可能不是最好的存储机制。通常,最好是每行有一个值的表。