perf: 为库存三表/BOM/物料基础表补全高频查询列索引,防止全表扫描

This commit is contained in:
DXC
2026-05-19 10:21:50 +08:00
parent c60112f5f8
commit 6e1e1aa998
5 changed files with 23 additions and 23 deletions

View File

@ -11,11 +11,11 @@ class StockSemi(db.Model):
__tablename__ = 'stock_semi'
id = db.Column(db.Integer, primary_key=True)
base_id = db.Column(db.Integer, db.ForeignKey('material_base.id'), nullable=False)
base_id = db.Column(db.Integer, db.ForeignKey('material_base.id'), nullable=False, index=True) # ★ 批量 IN 查询高频列
sku = db.Column(db.String(100))
sku = db.Column(db.String(100), index=True) # ★ SKU 快速定位
production_date = db.Column(db.DateTime)
barcode = db.Column(db.String(100))
barcode = db.Column(db.String(100), index=True) # ★ 条码扫码查询高频列
serial_number = db.Column(db.String(100))
batch_number = db.Column(db.String(100))
@ -25,8 +25,8 @@ class StockSemi(db.Model):
available_quantity = db.Column(db.Numeric(19, 4), default=0)
# 状态与位置
status = db.Column(db.String(50))
warehouse_location = db.Column(db.String(100))
status = db.Column(db.String(50), index=True) # ★ 在库/锁定 过滤条件
warehouse_location = db.Column(db.String(100), index=True) # ★ 按库位分组/过滤
# 半成品特有字段
bom_code = db.Column('bom_id', db.String(100))