【发布时间】:2013-03-21 01:50:35
【问题描述】:
我正在为一个大约有十亿行的表规划表结构和编程。
我经常想做SELECT COUNT(*) ON mytable WHERE somecol="5"。 somecol 将有一个索引,并且是 INT。
选项 1 是我只有一张大桌子并使用 SELECT COUNT(*) 如上所述。
选项 2 是我也可以有一个名为 mytableofcounts 的附加表,其中我只有两列:somecol 和 num,并且我在其中记录了 somecol 的总计数。该表将只有大约几十万行,somecol 将是唯一的。然后我可以SELECT num FROM mytableofcounts WHERE somecol="5" 代替。
我更喜欢选项 1,因为它在存储和编程方面更容易且更高效,但我担心它可能会很慢。我会通过使用选项 2 的额外表来节省处理速度,还是使用选项 1 一样快?
【问题讨论】:
-
您可能应该测试选项 1 以查看它是否足够快。如果没有,选项 2 听起来是个不错的计划。
标签: mysql