我有1000多种产品。我需要每天维持库存。
产品表架构
CREATE TABLE Product (
ProductId INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
)
Stock Table Schema
CREATE TABLE StockInfo (
StockInfoId INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
StockDate Date NOT NULL,
ProductId INT NOT NULL,
OpeningStock INT NOT NULL,
Purchase INT DEFAULT 0,
Sales INT DEFAULT 0,
ClosingStock INT DEFAULT 0
)
表StockInfo
每天都会更新。列OpeningStock
由cron作业更新,逻辑为:
前几天ClosingStock = OpeningStock + Purchase - Sales
今天OpeningStock = last day ClosingStock
这种方法消耗更多的行,因此性能受到影响。
注意:每天每件产品至少有一次销售和 购买
请帮助我重新设计这个逻辑。