假设我有一个狗的MySQL表,t_dogs,其中列有主人姓名、品种、体重、年龄等。如果我知道会经常执行某些计数查询,比如某个主人或某个年龄的狗总数,我应该使用COUNT(*) FROM ... WHERE ...还是创建一个单独的表来按主人、年龄等记录狗的总数?
对于主人来说,更新狗总数的数量、年龄相对于询问总数的多少倍来说是最小的。
谢谢!
发布于 2013-09-05 18:54:46
创建一个单独的表是去角色化设计,但如果不这样做会对性能产生重大影响,这可能是合理的。如果您确实选择这样做,那么您的工作就是正确地更新元数据表,这是一个额外的负担和一组可能出错的事情。
对于MySQL来说,使用哪个存储引擎很重要。InnoDB在COUNT(*)查询IIRC方面表现不佳。对于MyISAM来说,这并没有那么重要。
https://stackoverflow.com/questions/18643739
复制相似问题