数据库: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】 表,无需添加任何索引。
无需修改
很快1s不到
建议修改的 反而慢