我有一种情况,我需要计算特定列中所有值的平均值。我得到了这个有效的 SQL 语句:
SELECT SUM(`unitCost`)/COUNT(*)
FROM `items`
WHERE `itemID_FK`=%d
我正在寻找有关如何提高效率的意见。此查询可能会导致必须读取大量记录。
itemID_FK
我想知道在单独的表中维护平均值并在将记录添加到表时不断更新平均值是否会更有效items
?
我在某处读到,拥有一个可以从数据库中的其他列或表计算或派生的列是违反数据库设计原则的。
编辑:
列:
instanceID int(10) UN PK AI
userID_FK int(11) UN
itemID_FK int(11) UN
dateAdded date
datePurchased date
listID_FK int(11) UN
unitCost decimal(11,2) UN zerofill
quantity decimal(11,2) UN zerofill
unitID_FK int(10) UN