- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 Rails 和 MySQL,并且有一个基于行计数的效率问题。
我有一个 Project
模型,它 has_many :donations
。
我想计算一个项目的唯一捐助者的数量。
projects
表中有一个名为 num_donors
的字段,并在创建新捐助者时递增它是个好主意吗?
或者像 @num_donors = Donor.count(:select => 'DISTINCT user_id')
这样的东西会由于数据库优化而在效率方面相似或相同吗?这是否需要我为 user_id
和我想计算的任何其他字段创建索引?
对于捐赠总额的总和,同样的答案是否成立?
最佳答案
回答标题问题。是的,这是多余的,但是否应该这样做取决于您的情况。
除非您有已知的性能问题,否则请在您的应用程序中即时计算计数和总数并且不要存储它们。也就是说,除非别无选择,否则不要存储计算值。
在大多数情况下,您不必也不应该求助于此。
如果您必须存储计算值,请执行以下操作:
关于mysql - 存储数据库记录的数量是多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1512402/
我的服务层有如下方法 public ModuleResponse GetModules(ModuleRequest request) { var response = new ModuleRe
我构建的工具栏与大多数工具栏一样,minHeight 设置为 actionBarSize: 但是,如果我删除这个属性,就完全没有区别了。工具栏保持其 actionBarSize,即使我删除菜单并将
我已经为 SVG 和剪辑路径苦苦挣扎了一段时间。 我正在尝试创建一个三 Angular 形剪辑路径,它将覆盖照片以给顶部一个“三 Angular 形”边缘。 我试图实现与照片完全相同的效果,但三 An
我有一个带有 2 个索引的 PostgreSQL 表。其中一个索引涵盖了 website_id 和 tweet_id 列,是一个唯一的 B 树索引。第二个索引只覆盖 website_id 列,是一个非
我是一名优秀的程序员,十分优秀!