0

我有 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

这种方法会消耗更大的行,因此会影响性能。

注意:每天每件产品至少有一次买卖

请帮助我重新设计这个逻辑。

4

0 回答 0