如何在MySQL中有效维护1000多种产品的日常库存?

时间:2017-08-30 15:44:31

标签: mysql sql stock sql-tuning mysqltuner

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

这种方法消耗更多的行,因此性能受到影响。

  

注意:每天每件产品至少有一次销售和   购买

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

0 个答案:

没有答案