MySql Delete does not take index problem.

If the delete statement has a query, the wrong way to write will result in no indexing.

Simple and crude way: remove two SQL, a query, a delete

=======================

【No index writing.

DELETE FROM goods_item_combo_group_item_history
WHERE group_id IN (SELECT id
    FROM goods_item_combo_group_history
    WHERE lease_code = 'schjyzzh'
      AND item_code = 'YL180606110506793'
      AND gmt_modified = '2018-06-07 23:18:51')

【Index writing

DELETE goods_item_combo_group_item_history
        FROM goods_item_combo_group_item_history, goods_item_combo_group_history
        WHERE goods_item_combo_group_item_history.group_id = goods_item_combo_group_history.id
        AND goods_item_combo_group_history.lease_code = #{leaseCode}
        AND goods_item_combo_group_history.item_code = #{itemCode}
        AND goods_item_combo_group_history.gmt_modified = #{gmtModified,jdbcType=TIMESTAMP}

 

Leave a Reply

Your email address will not be published. Required fields are marked *