我有一个关系数据库,我将重组,其中一个表中有超过100列。对我来说似乎有点多,但我不知道最佳做法。该表被查询很多,需要快速,大约一半的时间都需要所有列。我的问题是,我应该将此表拆分为可在需要时连接在一起的较小表,还是保持原样?
任何建议都将不胜感激。
答案 0 :(得分:1)
我认为最好把它当作一张大桌子。由于查询通常返回所有列,因此我假设插入也插入到所有列。将它拆分成多个表可能会使插入成为一场噩梦。另外,拥有一个大表可以使数据库不必做大量的工作就可以在每个查询中重新组合一堆小表。
答案 1 :(得分:0)
您的里程将根据您的具体情况而有所不同,可能会根据您的具体DBMS而有所不同。尝试两种方式和衡量标准。
如果我大部分时间都需要所有列,我猜想将一切保留在一个表中会比连接多个表更有效。我遇到了一些情况,我将数据去标准化以减少表的数量,这使得查询更快。