性能考虑,请哪个选项更好

时间:2011-11-04 10:01:32

标签: mysql

哪一个更好 - 使用mysql聚合函数COUNT返回所选事件的数量或手动计数并在插入操作期间将计数插入字段?考虑到COUNT函数搜索表或索引并对结果进行分组,而在手动计数时,我只是检索字段。

3 个答案:

答案 0 :(得分:3)

如果你手动完成

  • 您需要额外的工作
  • 您必须记住为每次插入和删除操作执行此操作
  • 因为额外的操作而放慢速度
  • 直接操作表格时会出现不一致的情况
  • 在MyISAM表中,计数已被MySQL检索为字段
  • 在InnoDB中它有点慢,但后续调用被缓存,所以只有第一个调用会很慢

尝试比DBMS更好地完成DBMS的工作并不是一个好主意。 DBMS体现了多年的经验和优化。

答案 1 :(得分:2)

IMO您应该始终使用MySQL内部函数从数据库中获取结果/数据 但这还取决于你在计算什么,你要检索哪些数据,你需要执行哪些操作等等。
通常,如果可以的话,使用MySQL函数:它们快速可靠!!

答案 2 :(得分:1)

我认为在手动计数中你必须明确地执行它(编写代码),而如果你使用Mysql查询,它将由Mysql服务器管理...在另一种情况下,它会在服务器上增加额外的开销,如果它一个webapp或你正在构建的东西...我认为去sql count查询会很明智!!!