tidb delete加条件删数据失败

看了一下各位大佬回复,这边问了一下业务人员,整理了一下所有操作流程。重建索引删除也无效

问题复现步骤:
1、hive2mysql任务(sqoop)
任务导入前提,delete from table_name where ds=‘导入日期’
2、发现任务有问题,标记任务失败,实际application任务还在写入…
3、还行写入的时候,手动删除导入当天数据 delete from table_name where ds=‘2024-01-11’
4、select * from table_name where ds=‘2024-01-11’ 查询不到数据,实际当天还有数据
5、更换ds='2024-01-11’当天其他条件查询,有数据
6、其他条件无法删除ds='2024-01-11’当天数据。不加条件也不能删除

rename表问题排查
mysql> select * from table_name limit 1;
±----------------------±-----------±-----------±------------±--------±-----------+
| weeks | xxxxxxxxxx | xxxxxxxxxx | xxxxxxxxxxx | xxx | ds |
±----------------------±-----------±-----------±------------±--------±-----------+
| 2024-01-05~2024-01-11 | xxxx | x | xxxxxx.8571 | xxxxxxx | 2024-01-11 |
±----------------------±-----------±-----------±------------±--------±-----------+
1 row in set (0.00 sec)

mysql> select * from table_name where ds=‘2024-01-11’ limit 1;
Empty set (0.00 sec)

mysql> EXPLAIN SELECT * FROM table_name;
±----------------------±--------±-------------±----------------------------------------±---------------------+
| id | estRows | task | access object | operator info |
±----------------------±--------±-------------±----------------------------------------±---------------------+
| TableReader_7 | 141.00 | root | | data:TableFullScan_6 |
| └─TableFullScan_6 | 141.00 | cop[tiflash] | table:table_name | keep order:false |
±----------------------±--------±-------------±----------------------------------------±---------------------+
2 rows in set (0.02 sec)

mysql> EXPLAIN SELECT * FROM table_name where ds=‘2024-01-11’ limit 1;
±-------------------------------±--------±----------±------------------------------------------------------±------------------------------------------------+
| id | estRows | task | access object | operator info |
±-------------------------------±--------±----------±------------------------------------------------------±------------------------------------------------+
| IndexLookUp_20 | 0.00 | root | | limit embedded(offset:0, count:1) |
| ├─Limit_19(Build) | 0.00 | cop[tikv] | | offset:0, count:1 |
| │ └─IndexRangeScan_17 | 0.00 | cop[tikv] | table:table_name, index:ds(ds) | range:[2024-01-11,2024-01-11], keep order:false |
| └─TableRowIDScan_18(Probe) | 0.00 | cop[tikv] | table:table_name | keep order:false |
±-------------------------------±--------±----------±------------------------------------------------------±------------------------------------------------+
4 rows in set (0.00 sec)

重建索引删除无效

mysql> DROP INDEX ds ON table_name;
Query OK, 0 rows affected (0.57 sec)

mysql> DELETE from table_name where ds=‘2024-01-11’ limit 1;
Query OK, 0 rows affected (0.00 sec)

mysql> DELETE from table_name limit 1;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE INDEX ds ON table_name (ds);
Query OK, 0 rows affected (3.03 sec)

mysql> DELETE from table_name limit 1;
Query OK, 0 rows affected (0.01 sec)

mysql> DELETE from table_name where ds=‘2024-01-11’ limit 1;
Query OK, 0 rows affected (0.01 sec)