重现步骤
反馈人:袁慧斌
数据库:zhcxkj-center-warehouse
查询时间:10.9092
执行次数: 249
扫描行数:1701540
发送行数:1
指纹SQL: SELECT count ( * ) FROM ? a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a . buy_detail_id = b . id AND a . customer_id = b . customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a . id = c . order_buy_id AND a . customer_id = c . customer_id WHERE ( c . add_time >= ? AND ? >= c . add_time ) OR ( c . buy_time >= ? AND ? >= c . buy_time ) OR ( c . process_time >= ? AND ? >= c . process_time ) OR ( c . check_time >= ? AND ? >= c . check_time ) OR ( c . tally_time >= ? AND ? >= c . tally_time ) OR ( c . put_in_time >= ? AND ? >= c . put_in_time ) ;
真实SQL:SELECT count(*) FROM t_stk_procurement_detail_orderbuy a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id WHERE ( c.add_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.add_time ) OR (c.buy_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.buy_time ) OR (c.process_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.process_time ) OR (c.check_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.check_time ) OR (c.tally_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.tally_time ) OR (c.put_in_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.put_in_time );
无人工修改
AISQL修改建议:SELECT COUNT(*)
FROM t_stk_procurement_detail_orderbuy a
LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id
LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id
WHERE (
(c.add_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
(c.buy_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
(c.process_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
(c.check_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
(c.tally_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
(c.put_in_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59)
) AND c.add_time IS NOT NULL;
explain表:








id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE a None index PRIMARY,idx_buy_detail_id_order_list_id,idx_customer_addtime idx_buy_detail_id_order_list_id 23 None 972382 100 Using index
1 SIMPLE c None ref idx_orderbuyid_taskstate,idx_customer_id_task_state_order_buy_id,idx_checktime,idx_orderbuyid_taskstate_boxno,idx_orderbuyid_customerid_checktime,idx_orderbuyid_customerid_processtime,idx_orderbuyid_customerid_putintime,idx_orderbuyid_customerid_buytime,idx_orderbuyid_customerid_addtime,idx_order_buy_task,idx_orderbuyid_customerid_tallytime idx_orderbuyid_taskstate 9 zhcxkj-center-warehouse.a.id 1 5.07 Using where
1 SIMPLE b None eq_ref PRIMARY,idx_id,idx_id_singledetailid PRIMARY 12 zhcxkj-center-warehouse.a.buy_detail_id,zhcxkj-center-warehouse.a.customer_id 1 100 Using index

额外建议:
索引建议:
→ 【t_stk_procurement_detail_orderbuy】 表,无需添加任何索引。

取出表 【t_stk_receiptandstorage_detail】 where条件字段 【process_time】 100000 条记录,重复的数据有:【100000】 条,没有必要为该字段创建索引。

建议添加索引:ALTER TABLE t_stk_receiptandstorage_detail ADD INDEX idx_add_time_buy_time_check_time_tally_time_put_in_time(add_time,buy_time,check_time,tally_time,put_in_time);


【t_stk_receiptandstorage_detail】表 【add_time,buy_time,check_time,tally_time,put_in_time】字段,索引分析:
+--------------------------------+--------------------------------+---------------+---------------+
| TABLE_NAME | INDEX_NAME | COLUMN_NAME | CARDINALITY |
+================================+================================+===============+===============+
| t_stk_receiptandstorage_detail | idx_checktime | check_time | 961829 |
+--------------------------------+--------------------------------+---------------+---------------+
| t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_addt | add_time | 941229 |
| | ime | | |
+--------------------------------+--------------------------------+---------------+---------------+
| t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_buyt | buy_time | 990927 |
| | ime | | |
+--------------------------------+--------------------------------+---------------+---------------+
| t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_chec | check_time | 995414 |
| | ktime | | |
+--------------------------------+--------------------------------+---------------+---------------+
| t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_puti | put_in_time | 995414 |
| | ntime | | |
+--------------------------------+--------------------------------+---------------+---------------+
| t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_tall | tally_time | 995414 |
| | ytime | | |
+--------------------------------+--------------------------------+---------------+---------------+

→ 【t_stk_procurement_detail_buylist_detail】 表,无需添加任何索引。


历史记录  
  1. 2025-09-08 09:19:46, 由 陈莉珍 创建。
  2. 2025-09-08 10:10:27, 由 谢业福 编辑。
    修改了 所属模块,旧值为 "0",新值为 "1932"。
    修改了 业务部门,旧值为 "0",新值为 "2"。
    修改了 解决时效,旧值为 "0",新值为 "-1"。
    修改了 重现步骤,区别为:
    001- 反馈人:袁慧斌
    001+ 反馈人:袁慧斌 数据库:zhcxkj-center-warehouse 查询时间:10.9092 执行次数: 249 扫描行数:1701540 发送行数:1 指纹SQL: SELECT count ( * ) FROM ? a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a . buy_detail_id = b . id AND a . customer_id = b . customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a . id = c . order_buy_id AND a . customer_id = c . customer_id WHERE ( c . add_time >= ? AND ? >= c . add_time ) OR ( c . buy_time >= ? AND ? >= c . buy_time ) OR ( c . process_time >= ? AND ? >= c . process_time ) OR ( c . check_time >= ? AND ? >= c . check_time ) OR ( c . tally_time >= ? AND ? >= c . tally_time ) OR ( c . put_in_time >= ? AND ? >= c . put_in_time ) ; 真实SQL:SELECT count(*) FROM t_stk_procurement_detail_orderbuy a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id WHERE ( c.add_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.add_time ) OR (c.buy_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.buy_time ) OR (c.process_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.process_time ) OR (c.check_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.check_time ) OR (c.tally_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.tally_time ) OR (c.put_in_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.put_in_time ); 无人工修改 AISQL修改建议:SELECT COUNT(*) FROM t_stk_procurement_detail_orderbuy a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id WHERE ( (c.add_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR (c.buy_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR (c.process_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR (c.check_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR (c.tally_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR (c.put_in_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) ) AND c.add_time IS NOT NULL; explain表:id
    002- 数据库:zhcxkj-center-warehouse
    002+ select_type
    003- 查询时间:10.9092
    003+ table
    004- 执行次数: 249
    004+ partitions
    005- 扫描行数:1701540
    005+ type
    006- 发送行数:1
    006+ possible_keys
    007- 指纹SQL: SELECT count ( * ) FROM ? a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a . buy_detail_id = b . id AND a . customer_id = b . customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a . id = c . order_buy_id AND a . customer_id = c . customer_id WHERE ( c . add_time >= ? AND ? >= c . add_time ) OR ( c . buy_time >= ? AND ? >= c . buy_time ) OR ( c . process_time >= ? AND ? >= c . process_time ) OR ( c . check_time >= ? AND ? >= c . check_time ) OR ( c . tally_time >= ? AND ? >= c . tally_time ) OR ( c . put_in_time >= ? AND ? >= c . put_in_time ) ;
    007+ key
    008- 真实SQL:SELECT count(*) FROM t_stk_procurement_detail_orderbuy a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id WHERE ( c.add_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.add_time ) OR (c.buy_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.buy_time ) OR (c.process_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.process_time ) OR (c.check_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.check_time ) OR (c.tally_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.tally_time ) OR (c.put_in_time >= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 >=c.put_in_time );
    008+ key_len
    009- 无人工修改
    009+ ref
    010- AISQL修改建议:SELECT COUNT(*)
    010+ rows
    011- FROM t_stk_procurement_detail_orderbuy a
    011+ filtered
    012- LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id
    012+ Extra
    013- LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id
    013+ 1
    014- WHERE (
    014+ SIMPLE
    015- (c.add_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
    015+ a
    016- (c.buy_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
    016+ None
    017- (c.process_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
    017+ index
    018- (c.check_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
    018+ PRIMARY,idx_buy_detail_id_order_list_id,idx_customer_addtime
    019- (c.tally_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR
    019+ idx_buy_detail_id_order_list_id
    020- (c.put_in_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59)
    020+ 23
    021- ) AND c.add_time IS NOT NULL;
    021+ None
    022- explain表:
    022+ 972382
    023-
    023+ 100
    024-
    024+ Using index
    025-
    025+ 1
    026-
    026+ SIMPLE
    027-
    027+ c
    028-
    028+ None
    029-
    029+ ref
    030-
    030+ idx_orderbuyid_taskstate,idx_customer_id_task_state_order_buy_id,idx_checktime,idx_orderbuyid_taskstate_boxno,idx_orderbuyid_customerid_checktime,idx_orderbuyid_customerid_processtime,idx_orderbuyid_customerid_putintime,idx_orderbuyid_customerid_buytime,idx_orderbuyid_customerid_addtime,idx_order_buy_task,idx_orderbuyid_customerid_tallytime
    031-
    031+ idx_orderbuyid_taskstate
    032-
    032+ 9
    033-
    033+ zhcxkj-center-warehouse.a.id
    034-
    034+ 1
    035- id
    035+ 5.07
    036-
    036+ Using where
    037-
    037+ 1
    038- select_type
    038+ SIMPLE
    039-
    039+ b
    040-
    040+ None
    041- table
    041+ eq_ref
    042-
    042+ PRIMARY,idx_id,idx_id_singledetailid
    043-
    043+ PRIMARY
    044- partitions
    044+ 12
    045-
    045+ zhcxkj-center-warehouse.a.buy_detail_id,zhcxkj-center-warehouse.a.customer_id
    046-
    046+ 1
    047- type
    047+ 100
    048-
    048+ Using index
    049-
    049+
    050- possible_keys
    050+ 额外建议: 索引建议:→ 【t_stk_procurement_detail_orderbuy】 表,无需添加任何索引。 取出表 【t_stk_receiptandstorage_detail】 where条件字段 【process_time】 100000 条记录,重复的数据有:【100000】 条,没有必要为该字段创建索引。 建议添加索引:ALTER TABLE t_stk_receiptandstorage_detail ADD INDEX idx_add_time_buy_time_check_time_tally_time_put_in_time(add_time,buy_time,check_time,tally_time,put_in_time); 【t_stk_receiptandstorage_detail】表 【add_time,buy_time,check_time,tally_time,put_in_time】字段,索引分析: +--------------------------------+--------------------------------+---------------+---------------+ | TABLE_NAME | INDEX_NAME | COLUMN_NAME | CARDINALITY | +================================+================================+===============+===============+ | t_stk_receiptandstorage_detail | idx_checktime | check_time | 961829 | +--------------------------------+--------------------------------+---------------+---------------+ | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_addt | add_time | 941229 | | | ime | | | +--------------------------------+--------------------------------+---------------+---------------+ | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_buyt | buy_time | 990927 | | | ime | | | +--------------------------------+--------------------------------+---------------+---------------+ | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_chec | check_time | 995414 | | | ktime | | | +--------------------------------+--------------------------------+---------------+---------------+ | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_puti | put_in_time | 995414 | | | ntime | | | +--------------------------------+--------------------------------+---------------+---------------+ | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_tall | tally_time | 995414 | | | ytime | | | +--------------------------------+--------------------------------+---------------+---------------+→ 【t_stk_procurement_detail_buylist_detail】 表,无需添加任何索引。
    051-
    052-
    053- key
    054-
    055-
    056- key_len
    057-
    058-
    059- ref
    060-
    061-
    062- rows
    063-
    064-
    065- filtered
    066-
    067-
    068- Extra
    069-
    070-
    071-
    072-
    073-
    074-
    075- 1
    076-
    077-
    078- SIMPLE
    079-
    080-
    081- a
    082-
    083-
    084- None
    085-
    086-
    087- index
    088-
    089-
    090- PRIMARY,idx_buy_detail_id_order_list_id,idx_customer_addtime
    091-
    092-
    093- idx_buy_detail_id_order_list_id
    094-
    095-
    096- 23
    097-
    098-
    099- None
    100-
    101-
    102- 972382
    103-
    104-
    105- 100
    106-
    107-
    108- Using index
    109-
    110-
    111-
    112-
    113- 1
    114-
    115-
    116- SIMPLE
    117-
    118-
    119- c
    120-
    121-
    122- None
    123-
    124-
    125- ref
    126-
    127-
    128- idx_orderbuyid_taskstate,idx_customer_id_task_state_order_buy_id,idx_checktime,idx_orderbuyid_taskstate_boxno,idx_orderbuyid_customerid_checktime,idx_orderbuyid_customerid_processtime,idx_orderbuyid_customerid_putintime,idx_orderbuyid_customerid_buytime,idx_orderbuyid_customerid_addtime,idx_order_buy_task,idx_orderbuyid_customerid_tallytime
    129-
    130-
    131- idx_orderbuyid_taskstate
    132-
    133-
    134- 9
    135-
    136-
    137- zhcxkj-center-warehouse.a.id
    138-
    139-
    140- 1
    141-
    142-
    143- 5.07
    144-
    145-
    146- Using where
    147-
    148-
    149-
    150-
    151- 1
    152-
    153-
    154- SIMPLE
    155-
    156-
    157- b
    158-
    159-
    160- None
    161-
    162-
    163- eq_ref
    164-
    165-
    166- PRIMARY,idx_id,idx_id_singledetailid
    167-
    168-
    169- PRIMARY
    170-
    171-
    172- 12
    173-
    174-
    175- zhcxkj-center-warehouse.a.buy_detail_id,zhcxkj-center-warehouse.a.customer_id
    176-
    177-
    178- 1
    179-
    180-
    181- 100
    182-
    183-
    184- Using index
    185-
    186-
    187-
    188-
    189-
    190- 额外建议:
    191- 索引建议:
    192- → 【t_stk_procurement_detail_orderbuy】 表,无需添加任何索引。
    193-
    194- 取出表 【t_stk_receiptandstorage_detail】 where条件字段 【process_time】 100000 条记录,重复的数据有:【100000】 条,没有必要为该字段创建索引。
    195-
    196- 建议添加索引:ALTER TABLE t_stk_receiptandstorage_detail ADD INDEX idx_add_time_buy_time_check_time_tally_time_put_in_time(add_time,buy_time,check_time,tally_time,put_in_time);
    197-
    198- 【t_stk_receiptandstorage_detail】表 【add_time,buy_time,check_time,tally_time,put_in_time】字段,索引分析:
    199- +--------------------------------+--------------------------------+---------------+---------------+
    200- | TABLE_NAME | INDEX_NAME | COLUMN_NAME | CARDINALITY |
    201- +================================+================================+===============+===============+
    202- | t_stk_receiptandstorage_detail | idx_checktime | check_time | 961829 |
    203- +--------------------------------+--------------------------------+---------------+---------------+
    204- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_addt | add_time | 941229 |
    205- | | ime | | |
    206- +--------------------------------+--------------------------------+---------------+---------------+
    207- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_buyt | buy_time | 990927 |
    208- | | ime | | |
    209- +--------------------------------+--------------------------------+---------------+---------------+
    210- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_chec | check_time | 995414 |
    211- | | ktime | | |
    212- +--------------------------------+--------------------------------+---------------+---------------+
    213- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_puti | put_in_time | 995414 |
    214- | | ntime | | |
    215- +--------------------------------+--------------------------------+---------------+---------------+
    216- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_tall | tally_time | 995414 |
    217- | | ytime | | |
    218- +--------------------------------+--------------------------------+---------------+---------------+
    219-
    220- → 【t_stk_procurement_detail_buylist_detail】 表,无需添加任何索引。
    221-
    222-
    001- 反馈人:袁慧斌<br />
    001+ 反馈人:袁慧斌<br /> 数据库:zhcxkj-center-warehouse<br /> 查询时间:10.9092<br /> 执行次数: 249<br /> 扫描行数:1701540<br /> 发送行数:1<br /> 指纹SQL: SELECT count ( * ) FROM ? a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a . buy_detail_id = b . id AND a . customer_id = b . customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a . id = c . order_buy_id AND a . customer_id = c . customer_id WHERE ( c . add_time &gt;= ? AND ? &gt;= c . add_time ) OR ( c . buy_time &gt;= ? AND ? &gt;= c . buy_time ) OR ( c . process_time &gt;= ? AND ? &gt;= c . process_time ) OR ( c . check_time &gt;= ? AND ? &gt;= c . check_time ) OR ( c . tally_time &gt;= ? AND ? &gt;= c . tally_time ) OR ( c . put_in_time &gt;= ? AND ? &gt;= c . put_in_time ) ;<br /> 真实SQL:SELECT count(*) FROM t_stk_procurement_detail_orderbuy a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id WHERE ( c.add_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.add_time ) OR (c.buy_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.buy_time ) OR (c.process_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.process_time ) OR (c.check_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.check_time ) OR (c.tally_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.tally_time ) OR (c.put_in_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.put_in_time );<br /> 无人工修改<br /> AISQL修改建议:SELECT COUNT(*)<br /> FROM t_stk_procurement_detail_orderbuy a<br /> LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id<br /> LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id<br /> WHERE (<br /> (c.add_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br /> (c.buy_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br /> (c.process_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br /> (c.check_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br /> (c.tally_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br /> (c.put_in_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59)<br /> ) AND c.add_time IS NOT NULL;<br /> explain表:<br /><br /><br /><br /><br /><br /><br /><br /><br /><table><tbody><tr><th>id</th>
    002- 数据库:zhcxkj-center-warehouse<br />
    002+ <th>select_type</th>
    003- 查询时间:10.9092<br />
    003+ <th>table</th>
    004- 执行次数: 249<br />
    004+ <th>partitions</th>
    005- 扫描行数:1701540<br />
    005+ <th>type</th>
    006- 发送行数:1<br />
    006+ <th>possible_keys</th>
    007- 指纹SQL: SELECT count ( * ) FROM ? a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a . buy_detail_id = b . id AND a . customer_id = b . customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a . id = c . order_buy_id AND a . customer_id = c . customer_id WHERE ( c . add_time &gt;= ? AND ? &gt;= c . add_time ) OR ( c . buy_time &gt;= ? AND ? &gt;= c . buy_time ) OR ( c . process_time &gt;= ? AND ? &gt;= c . process_time ) OR ( c . check_time &gt;= ? AND ? &gt;= c . check_time ) OR ( c . tally_time &gt;= ? AND ? &gt;= c . tally_time ) OR ( c . put_in_time &gt;= ? AND ? &gt;= c . put_in_time ) ;<br />
    007+ <th>key</th>
    008- 真实SQL:SELECT count(*) FROM t_stk_procurement_detail_orderbuy a LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id WHERE ( c.add_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.add_time ) OR (c.buy_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.buy_time ) OR (c.process_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.process_time ) OR (c.check_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.check_time ) OR (c.tally_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.tally_time ) OR (c.put_in_time &gt;= 2025-09-01 21:00:00 AND 2025-09-02 23:59:59 &gt;=c.put_in_time );<br />
    008+ <th>key_len</th>
    009- 无人工修改<br />
    009+ <th>ref</th>
    010- AISQL修改建议:SELECT COUNT(*)<br />
    010+ <th>rows</th>
    011- FROM t_stk_procurement_detail_orderbuy a<br />
    011+ <th>filtered</th>
    012- LEFT JOIN t_stk_procurement_detail_buylist_detail b ON a.buy_detail_id = b.id AND a.customer_id = b.customer_id<br />
    012+ <th>Extra</th>
    013- LEFT JOIN t_stk_receiptandstorage_detail c ON a.id = c.order_buy_id AND a.customer_id = c.customer_id<br />
    013+ </tr></tbody><tbody><tr><td>1</td>
    014- WHERE (<br />
    014+ <td>SIMPLE</td>
    015- (c.add_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br />
    015+ <td>a</td>
    016- (c.buy_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br />
    016+ <td>None</td>
    017- (c.process_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br />
    017+ <td>index</td>
    018- (c.check_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br />
    018+ <td>PRIMARY,idx_buy_detail_id_order_list_id,idx_customer_addtime</td>
    019- (c.tally_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59) OR<br />
    019+ <td>idx_buy_detail_id_order_list_id</td>
    020- (c.put_in_time BETWEEN 2025-09-01 21:00:00 AND 2025-09-02 23:59:59)<br />
    020+ <td>23</td>
    021- ) AND c.add_time IS NOT NULL;<br />
    021+ <td>None</td>
    022- explain表:<br />
    022+ <td>972382</td>
    023- <br />
    023+ <td>100</td>
    024- <br />
    024+ <td>Using index</td>
    025- <br />
    025+ </tr><tr><td>1</td>
    026- <br />
    026+ <td>SIMPLE</td>
    027- <br />
    027+ <td>c</td>
    028- <br />
    028+ <td>None</td>
    029- <br />
    029+ <td>ref</td>
    030- <br />
    030+ <td>idx_orderbuyid_taskstate,idx_customer_id_task_state_order_buy_id,idx_checktime,idx_orderbuyid_taskstate_boxno,idx_orderbuyid_customerid_checktime,idx_orderbuyid_customerid_processtime,idx_orderbuyid_customerid_putintime,idx_orderbuyid_customerid_buytime,idx_orderbuyid_customerid_addtime,idx_order_buy_task,idx_orderbuyid_customerid_tallytime</td>
    031- <table>
    031+ <td>idx_orderbuyid_taskstate</td>
    032- <tbody>
    032+ <td>9</td>
    033- <tr>
    033+ <td>zhcxkj-center-warehouse.a.id</td>
    034- <th>
    034+ <td>1</td>
    035- id
    035+ <td>5.07</td>
    036- </th>
    036+ <td>Using where</td>
    037- <th>
    037+ </tr><tr><td>1</td>
    038- select_type
    038+ <td>SIMPLE</td>
    039- </th>
    039+ <td>b</td>
    040- <th>
    040+ <td>None</td>
    041- table
    041+ <td>eq_ref</td>
    042- </th>
    042+ <td>PRIMARY,idx_id,idx_id_singledetailid</td>
    043- <th>
    043+ <td>PRIMARY</td>
    044- partitions
    044+ <td>12</td>
    045- </th>
    045+ <td>zhcxkj-center-warehouse.a.buy_detail_id,zhcxkj-center-warehouse.a.customer_id</td>
    046- <th>
    046+ <td>1</td>
    047- type
    047+ <td>100</td>
    048- </th>
    048+ <td>Using index</td>
    049- <th>
    049+ </tr></tbody></table><br />
    050- possible_keys
    050+ 额外建议:<br /> 索引建议:<br /><span style="color:#008000;font-weight:bold;">→ 【t_stk_procurement_detail_orderbuy】 表,无需添加任何索引。</span><br /><br /> 取出表 【t_stk_receiptandstorage_detail】 where条件字段 【process_time】 100000 条记录,重复的数据有:【100000】 条,没有必要为该字段创建索引。<br /><span style="color:#FFA500;"><br /> 建议添加索引:ALTER TABLE t_stk_receiptandstorage_detail ADD INDEX idx_add_time_buy_time_check_time_tally_time_put_in_time(add_time,buy_time,check_time,tally_time,put_in_time);</span><br /><br /> 【t_stk_receiptandstorage_detail】表 【add_time,buy_time,check_time,tally_time,put_in_time】字段,索引分析:<br /> +--------------------------------+--------------------------------+---------------+---------------+<br /> | TABLE_NAME | INDEX_NAME | COLUMN_NAME | CARDINALITY |<br /> +================================+================================+===============+===============+<br /> | t_stk_receiptandstorage_detail | idx_checktime | check_time | 961829 |<br /> +--------------------------------+--------------------------------+---------------+---------------+<br /> | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_addt | add_time | 941229 |<br /> | | ime | | |<br /> +--------------------------------+--------------------------------+---------------+---------------+<br /> | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_buyt | buy_time | 990927 |<br /> | | ime | | |<br /> +--------------------------------+--------------------------------+---------------+---------------+<br /> | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_chec | check_time | 995414 |<br /> | | ktime | | |<br /> +--------------------------------+--------------------------------+---------------+---------------+<br /> | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_puti | put_in_time | 995414 |<br /> | | ntime | | |<br /> +--------------------------------+--------------------------------+---------------+---------------+<br /> | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_tall | tally_time | 995414 |<br /> | | ytime | | |<br /> +--------------------------------+--------------------------------+---------------+---------------+<br /><br /><span style="color:#008000;font-weight:bold;">→ 【t_stk_procurement_detail_buylist_detail】 表,无需添加任何索引。</span><br /><br /><br />
    051- </th>
    052- <th>
    053- key
    054- </th>
    055- <th>
    056- key_len
    057- </th>
    058- <th>
    059- ref
    060- </th>
    061- <th>
    062- rows
    063- </th>
    064- <th>
    065- filtered
    066- </th>
    067- <th>
    068- Extra
    069- </th>
    070- </tr>
    071- </tbody>
    072- <tbody>
    073- <tr>
    074- <td>
    075- 1
    076- </td>
    077- <td>
    078- SIMPLE
    079- </td>
    080- <td>
    081- a
    082- </td>
    083- <td>
    084- None
    085- </td>
    086- <td>
    087- index
    088- </td>
    089- <td>
    090- PRIMARY,idx_buy_detail_id_order_list_id,idx_customer_addtime
    091- </td>
    092- <td>
    093- idx_buy_detail_id_order_list_id
    094- </td>
    095- <td>
    096- 23
    097- </td>
    098- <td>
    099- None
    100- </td>
    101- <td>
    102- 972382
    103- </td>
    104- <td>
    105- 100
    106- </td>
    107- <td>
    108- Using index
    109- </td>
    110- </tr>
    111- <tr>
    112- <td>
    113- 1
    114- </td>
    115- <td>
    116- SIMPLE
    117- </td>
    118- <td>
    119- c
    120- </td>
    121- <td>
    122- None
    123- </td>
    124- <td>
    125- ref
    126- </td>
    127- <td>
    128- idx_orderbuyid_taskstate,idx_customer_id_task_state_order_buy_id,idx_checktime,idx_orderbuyid_taskstate_boxno,idx_orderbuyid_customerid_checktime,idx_orderbuyid_customerid_processtime,idx_orderbuyid_customerid_putintime,idx_orderbuyid_customerid_buytime,idx_orderbuyid_customerid_addtime,idx_order_buy_task,idx_orderbuyid_customerid_tallytime
    129- </td>
    130- <td>
    131- idx_orderbuyid_taskstate
    132- </td>
    133- <td>
    134- 9
    135- </td>
    136- <td>
    137- zhcxkj-center-warehouse.a.id
    138- </td>
    139- <td>
    140- 1
    141- </td>
    142- <td>
    143- 5.07
    144- </td>
    145- <td>
    146- Using where
    147- </td>
    148- </tr>
    149- <tr>
    150- <td>
    151- 1
    152- </td>
    153- <td>
    154- SIMPLE
    155- </td>
    156- <td>
    157- b
    158- </td>
    159- <td>
    160- None
    161- </td>
    162- <td>
    163- eq_ref
    164- </td>
    165- <td>
    166- PRIMARY,idx_id,idx_id_singledetailid
    167- </td>
    168- <td>
    169- PRIMARY
    170- </td>
    171- <td>
    172- 12
    173- </td>
    174- <td>
    175- zhcxkj-center-warehouse.a.buy_detail_id,zhcxkj-center-warehouse.a.customer_id
    176- </td>
    177- <td>
    178- 1
    179- </td>
    180- <td>
    181- 100
    182- </td>
    183- <td>
    184- Using index
    185- </td>
    186- </tr>
    187- </tbody>
    188- </table>
    189- <br />
    190- 额外建议:<br />
    191- 索引建议:<br />
    192- <span style="color:green;font-weight:bold;">→ 【t_stk_procurement_detail_orderbuy】 表,无需添加任何索引。</span><br />
    193- <br />
    194- 取出表 【t_stk_receiptandstorage_detail】 where条件字段 【process_time】 100000 条记录,重复的数据有:【100000】 条,没有必要为该字段创建索引。<br />
    195- <span style="color:FFA500;"><br />
    196- 建议添加索引:ALTER TABLE t_stk_receiptandstorage_detail ADD INDEX idx_add_time_buy_time_check_time_tally_time_put_in_time(add_time,buy_time,check_time,tally_time,put_in_time);</span><br />
    197- <br />
    198- 【t_stk_receiptandstorage_detail】表 【add_time,buy_time,check_time,tally_time,put_in_time】字段,索引分析:<br />
    199- +--------------------------------+--------------------------------+---------------+---------------+<br />
    200- | TABLE_NAME | INDEX_NAME | COLUMN_NAME | CARDINALITY |<br />
    201- +================================+================================+===============+===============+<br />
    202- | t_stk_receiptandstorage_detail | idx_checktime | check_time | 961829 |<br />
    203- +--------------------------------+--------------------------------+---------------+---------------+<br />
    204- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_addt | add_time | 941229 |<br />
    205- | | ime | | |<br />
    206- +--------------------------------+--------------------------------+---------------+---------------+<br />
    207- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_buyt | buy_time | 990927 |<br />
    208- | | ime | | |<br />
    209- +--------------------------------+--------------------------------+---------------+---------------+<br />
    210- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_chec | check_time | 995414 |<br />
    211- | | ktime | | |<br />
    212- +--------------------------------+--------------------------------+---------------+---------------+<br />
    213- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_puti | put_in_time | 995414 |<br />
    214- | | ntime | | |<br />
    215- +--------------------------------+--------------------------------+---------------+---------------+<br />
    216- | t_stk_receiptandstorage_detail | idx_orderbuyid_customerid_tall | tally_time | 995414 |<br />
    217- | | ytime | | |<br />
    218- +--------------------------------+--------------------------------+---------------+---------------+<br />
    219- <br />
    220- <span style="color:green;font-weight:bold;">→ 【t_stk_procurement_detail_buylist_detail】 表,无需添加任何索引。</span><br />
    221- <br />
    222- <br />

    无需修改


    lQLPJw-mLBxDSLXNA8rNBsCwqNeXop6mQuoIm2MizLUqAA_1728_970.png

     很快1s不到


    建议修改的 反而慢


  3. 2025-09-08 10:10:40, 由 谢业福 指派给 陈莉珍。
    修改了 指派给,旧值为 "xieyefu",新值为 "chenlizhen"。
  4. 2025-09-12 15:28:39, 由 陈莉珍 解决,方案为 非BUG-纯属误判 。
    修改了 解决方案,旧值为 "",新值为 "feibug"。
    修改了 解决日期,旧值为 "",新值为 "2025-09-12 15:28:35"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
    修改了 解决者 ,旧值为 "",新值为 "chenlizhen"。
  5. 2025-09-12 15:29:31, 由 陈莉珍 编辑。
    修改了 开发责任人,旧值为 "",新值为 "xieyefu"。
    修改了 测试责任人,旧值为 "",新值为 "chenlizhen"。
    修改了 解决时效 ,旧值为 "0",新值为 "0.84"。
    修改了 上线时间 ,旧值为 "0000-00-00 00:00:00",新值为 "2025-09-08 10:10"。
    修改了 上线时效 ,旧值为 "-1",新值为 "0.84"。
    修改了 解决日期 ,旧值为 "2025-09-12 15:28:35",新值为 "2025-09-08 10:10"。
  6. 2025-09-12 15:29:35, 由 陈莉珍 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "chenlizhen",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "chenlizhen"。
    修改了 关闭日期,旧值为 "",新值为 "2025-09-12 15:29:35"。
所属项目 技术中心-需求池
所属模块 供应链   仓储物流   仓储
所属计划
所属迭代
Bug类型
严重程度 一般
优先级 P2
Bug状态 已关闭
业务部门 总经办
影响功能
开发责任人 谢业福
测试责任人 陈莉珍
解决时效 0.84
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2025-09-12 15:29:35
截止日期 0000-00-00
上线时间 2025-09-08 10:10:00
上线时效 0.84
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 陈莉珍 于 2025-09-08 09:19:46
影响环境 生产环境-业务反馈
由谁解决 陈莉珍 于 2025-09-08 10:10:00
解决版本
解决方案 非BUG-纯属误判
由谁关闭 陈莉珍 于 2025-09-12 15:29:35
最后修改 陈莉珍 于 2025-09-12 15:29:35
相关Bug