我有 1000 多种产品。我需要每天维护库存。
产品表架构
CREATE TABLE Product (
ProductId INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
)
库存表架构
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
这种方法会消耗更大的行,因此会影响性能。
注意:每天每件产品至少有一次买卖
请帮助我重新设计这个逻辑。