UNIQUE模型数据存在重复

【详述】UNIQUE模型数据存在重复
【背景】
相同UNIQUE 的数据存在重复
图片

select seller_id, thedate, order_no, change_type, id from test_ads_qm_customer_account_consume_flow_di
where seller_id = 49112
and thedate=‘2021-10-09’ and change_type=‘消费’ and id= 653398243184455681

这样可以查询到两条语句
图片

添加条件 and order_no =’’ 可以查询到一条语句
图片

下面两条语句是从navcat查询复制出来的
INSERT INTO (`seller_id`, `thedate`, `order_no`, `change_type`, `id`) VALUES (49112, '2021-10-09', '', '消费', 653398243184455681); INSERT INTO (seller_id, thedate, order_no, change_type, id) VALUES (49112, ‘2021-10-09’, ‘’, ‘消费’, 653398243184455681);

这两条数据一条是在starRocks中生产的 一条是利用datax从tidb中导入的

建表语句
CREATE TABLE test1_ads_qm_customer_account_consume_flow_di (
seller_id bigint(20) NULL DEFAULT “0” COMMENT “店铺id”,
thedate date NULL DEFAULT “2000-01-01” COMMENT “统计日期”,
order_no varchar(64) NOT NULL DEFAULT “” COMMENT “订单号”,
change_type varchar(50) NULL DEFAULT “” COMMENT “消费或者退款”,
id bigint(20) NULL COMMENT “主键”
) ENGINE=OLAP
UNIQUE KEY(seller_id, thedate, order_no, change_type, id)
PARTITION BY RANGE(thedate)
(PARTITION p20210401 VALUES [(‘1970-01-01’), (‘2021-05-01’)),
PARTITION p20210501 VALUES [(‘2021-05-01’), (‘2021-06-01’)),
PARTITION p20210601 VALUES [(‘2021-06-01’), (‘2021-07-01’)),
PARTITION p20210701 VALUES [(‘2021-07-01’), (‘2021-08-01’)),
PARTITION p20210801 VALUES [(‘2021-08-01’), (‘2021-09-01’)),
PARTITION p20210901 VALUES [(‘2021-09-01’), (‘2021-10-01’)),
PARTITION p20211001 VALUES [(‘2021-10-01’), (‘2021-11-01’)),
PARTITION p20211101 VALUES [(‘2021-11-01’), (‘2021-12-01’)),
PARTITION p20211201 VALUES [(‘2021-12-01’), (‘2022-01-01’)),
PARTITION p20220101 VALUES [(‘2022-01-01’), (‘2022-02-01’)),
PARTITION p20220201 VALUES [(‘2022-02-01’), (‘2022-03-01’)),
PARTITION p20220301 VALUES [(‘2022-03-01’), (‘2022-04-01’)),
PARTITION p20220401 VALUES [(‘2022-04-01’), (‘2022-05-01’)),
PARTITION p20220501 VALUES [(‘2022-05-01’), (‘2022-06-01’)),
PARTITION pmax VALUES [(‘2022-06-01’), (‘2099-12-30’)))
DISTRIBUTED BY HASH(seller_id, order_no) BUCKETS 10
PROPERTIES (
“replication_num” = “3”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”
);

【业务影响】
【StarRocks版本】例如:1.16.1
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【附件】

  • fe.warn.log/be.warn.log/相应截图
  • 慢查询:
    • Profile信息
    • 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
    • cbo是否开启:show variables like ‘%cbo%’;
    • be节点cpu和内存使用率截图

您好,我这边按照您提供的建表和插入语句没复现。您按照上面的insert插入下看看呢

导出的语句 我这边insert后也是一条 那两条数据一条是在startRocks 通过insert into select xx 这种插入的,一条是通过datax 走官方的插件 从tidb中读取导入的, (这条数据在tidb是一样的), 你那边可以试下

辛苦通过navcat导出表数据贴下?

这个场景我遇到过,是因为datax对某些特殊字段 例如 空 null等处理结果不一样,大佬可以验证下

你select hex(xxx) from table 看一下,估计是不可见字符导致的