02_create_business_indexes.sql
7.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
-- Apple经销商ERP系统 - 业务表索引创建脚本
-- 按照数据库设计文档创建索引
-- =============================================
-- 订单主表索引
-- =============================================
-- 业务唯一索引
CREATE UNIQUE INDEX uk_order_no ON t_order_main(order_no);
-- 查询优化索引
CREATE INDEX idx_order_dealer_code ON t_order_main(dealer_code);
CREATE INDEX idx_order_date ON t_order_main(order_date);
CREATE INDEX idx_order_status ON t_order_main(delivery_status, invoice_status);
CREATE INDEX idx_order_verify ON t_order_main(verify_status);
CREATE INDEX idx_order_upload_time ON t_order_main(upload_time);
-- =============================================
-- 订单商品明细表索引
-- =============================================
-- 外键索引
CREATE INDEX idx_item_order_id ON t_order_item(order_id);
CREATE INDEX idx_item_order_no ON t_order_item(order_no);
CREATE INDEX idx_item_product_code ON t_order_item(product_code);
-- =============================================
-- 出库主表索引
-- =============================================
-- 业务唯一索引
CREATE UNIQUE INDEX uk_delivery_no ON t_delivery_main(delivery_no);
-- 查询优化索引
CREATE INDEX idx_delivery_dealer_code ON t_delivery_main(dealer_code);
CREATE INDEX idx_delivery_order_no ON t_delivery_main(order_no);
CREATE INDEX idx_delivery_date ON t_delivery_main(delivery_date);
CREATE INDEX idx_delivery_status ON t_delivery_main(delivery_status);
-- =============================================
-- 出库商品明细表索引
-- =============================================
-- 外键索引
CREATE INDEX idx_delivery_item_delivery_id ON t_delivery_item(delivery_id);
CREATE INDEX idx_delivery_item_delivery_no ON t_delivery_item(delivery_no);
CREATE INDEX idx_delivery_item_order_no ON t_delivery_item(order_no);
CREATE INDEX idx_delivery_item_product_code ON t_delivery_item(product_code);
-- =============================================
-- 发票主表索引
-- =============================================
-- 业务唯一索引
CREATE UNIQUE INDEX uk_invoice_no ON t_invoice_main(invoice_no);
-- 查询优化索引
CREATE INDEX idx_invoice_dealer_code ON t_invoice_main(dealer_code);
CREATE INDEX idx_invoice_order_no ON t_invoice_main(order_no);
CREATE INDEX idx_invoice_delivery_no ON t_invoice_main(delivery_no);
CREATE INDEX idx_invoice_date ON t_invoice_main(invoice_date);
CREATE INDEX idx_invoice_status ON t_invoice_main(invoice_status);
-- =============================================
-- 发票商品明细表索引
-- =============================================
-- 外键索引
CREATE INDEX idx_invoice_item_invoice_id ON t_invoice_item(invoice_id);
CREATE INDEX idx_invoice_item_invoice_no ON t_invoice_item(invoice_no);
CREATE INDEX idx_invoice_item_order_no ON t_invoice_item(order_no);
CREATE INDEX idx_invoice_item_product_code ON t_invoice_item(product_code);
-- =============================================
-- 返利台账明细表索引
-- =============================================
-- 业务唯一索引
CREATE UNIQUE INDEX uk_rebate_no ON t_rebate_detail(rebate_no);
-- 查询优化索引
CREATE INDEX idx_rebate_dealer_code ON t_rebate_detail(dealer_code);
CREATE INDEX idx_rebate_order_no ON t_rebate_detail(order_no);
CREATE INDEX idx_rebate_product_code ON t_rebate_detail(product_code);
CREATE INDEX idx_rebate_date ON t_rebate_detail(rebate_date);
CREATE INDEX idx_rebate_operate_type ON t_rebate_detail(operate_type);
CREATE INDEX idx_rebate_calc_flag ON t_rebate_detail(calc_flag);
-- =============================================
-- 异常工单表索引
-- =============================================
-- 业务唯一索引
CREATE UNIQUE INDEX uk_workorder_no ON t_exception_workorder(workorder_no);
-- 查询优化索引
CREATE INDEX idx_workorder_dealer_code ON t_exception_workorder(dealer_code);
CREATE INDEX idx_workorder_order_no ON t_exception_workorder(order_no);
CREATE INDEX idx_workorder_exception_type ON t_exception_workorder(exception_type);
CREATE INDEX idx_workorder_severity_level ON t_exception_workorder(severity_level);
CREATE INDEX idx_workorder_status ON t_exception_workorder(workorder_status);
CREATE INDEX idx_workorder_create_time ON t_exception_workorder(create_time);
CREATE INDEX idx_workorder_handler_user ON t_exception_workorder(handler_user);
-- =============================================
-- 异常工单处理日志表索引
-- =============================================
-- 外键索引
CREATE INDEX idx_workorder_log_workorder_id ON t_exception_workorder_log(workorder_id);
CREATE INDEX idx_workorder_log_workorder_no ON t_exception_workorder_log(workorder_no);
CREATE INDEX idx_workorder_log_handle_user ON t_exception_workorder_log(handle_user);
CREATE INDEX idx_workorder_log_handle_time ON t_exception_workorder_log(handle_time);
-- =============================================
-- 经销商信息表索引
-- =============================================
-- 业务唯一索引(已在表定义中创建)
-- UNIQUE INDEX uk_dealer_code ON t_dealer_info(dealer_code);
-- UNIQUE INDEX uk_credit_code ON t_dealer_info(credit_code);
-- 查询优化索引
CREATE INDEX idx_dealer_name ON t_dealer_info(dealer_name);
CREATE INDEX idx_dealer_level ON t_dealer_info(dealer_level);
CREATE INDEX idx_dealer_region ON t_dealer_info(region);
CREATE INDEX idx_dealer_cooperate_status ON t_dealer_info(cooperate_status);
CREATE INDEX idx_dealer_qualification_audit_status ON t_dealer_info(qualification_audit_status);
CREATE INDEX idx_dealer_cooperate_start_date ON t_dealer_info(cooperate_start_date);
-- =============================================
-- 产品信息表索引
-- =============================================
-- 业务唯一索引(已在表定义中创建)
-- UNIQUE INDEX uk_product_code ON t_product_info(product_code);
-- 查询优化索引
CREATE INDEX idx_product_name ON t_product_info(product_name);
CREATE INDEX idx_product_model ON t_product_info(product_model);
CREATE INDEX idx_product_type ON t_product_info(product_type);
CREATE INDEX idx_product_sale_status ON t_product_info(sale_status);
CREATE INDEX idx_product_rebate_flag ON t_product_info(rebate_flag);
CREATE INDEX idx_product_sale_start_date ON t_product_info(sale_start_date);
CREATE INDEX idx_product_sale_end_date ON t_product_info(sale_end_date);
-- =============================================
-- 复合索引优化查询性能
-- =============================================
-- 订单查询优化
CREATE INDEX idx_order_complex_query ON t_order_main(dealer_code, order_date, delivery_status, invoice_status);
-- 出库查询优化
CREATE INDEX idx_delivery_complex_query ON t_delivery_main(dealer_code, delivery_date, delivery_status);
-- 发票查询优化
CREATE INDEX idx_invoice_complex_query ON t_invoice_main(dealer_code, invoice_date, invoice_status);
-- 返利查询优化
CREATE INDEX idx_rebate_complex_query ON t_rebate_detail(dealer_code, rebate_date, operate_type);
-- 异常工单查询优化
CREATE INDEX idx_workorder_complex_query ON t_exception_workorder(workorder_status, severity_level, create_time);
-- 经销商查询优化
CREATE INDEX idx_dealer_complex_query ON t_dealer_info(dealer_level, cooperate_status, region);
-- 产品查询优化
CREATE INDEX idx_product_complex_query ON t_product_info(product_type, sale_status, rebate_flag);