我有一个数据库表(称为Master),它有大约40列。其中11个总是包含大约每100,000行的常量值。
这种结构的缺点是,当我需要更新这11个列值时,我需要更新所有100.000行。
我可以将所有常量数据移动到另一个表中,并在一个地方只更新一次,而不是100.000个地方。
但是,如果我这样做,当我显示字段时,我需要在两个表之间创建INNER JOIN,我知道这会使SELECT语句变慢。
我必须说更新列比读取(显示)数据更少。
您如何建议我将数据存储在数据库中以获得最佳性能?
由于
答案 0 :(得分:0)
我会将11列放在一个单独的表中
您正在使用11个额外的静态值使主表膨胀:这会影响密度(每8k页的行数)和查询的内存占用量。
也就是说,如果拆分静态数据,只需简单地读取和处理主表的数据