更新统计信息试试
CREATE TABLE V_API_HDR_VISIT
(
VISIT_ROWKEY
varchar(500) NOT NULL COMMENT ‘主键’,
ORG_CODE
varchar(500) DEFAULT NULL COMMENT ‘机构编码’,
ORG_NAME
varchar(500) DEFAULT NULL COMMENT ‘机构名称’,
PATIENT_NAME
varchar(500) DEFAULT NULL COMMENT ‘患者姓名’,
DATE_OF_BIRTH
varchar(500) DEFAULT NULL COMMENT ‘出生日期’,
REGISTRATION_TIME
varchar(500) DEFAULT NULL COMMENT ‘患者登记时间’,
ID_CARD_NO
varchar(500) DEFAULT NULL COMMENT ‘身份证号’,
OUTP_NO
varchar(500) DEFAULT NULL COMMENT ‘门诊号’,
SD_SEX
int(11) DEFAULT NULL COMMENT ‘性别’,
SD_SEX_CODE
varchar(500) DEFAULT NULL COMMENT ‘性别编码’,
SD_SEX_NAME
varchar(500) DEFAULT NULL COMMENT ‘性别名称’,
SD_VISIT_TYPE
int(11) DEFAULT NULL COMMENT ‘就诊类型’,
SD_VISIT_TYPE_CODE
varchar(500) DEFAULT NULL COMMENT ‘就诊类型编码’,
SD_VISIT_TYPE_NAME
varchar(500) DEFAULT NULL COMMENT ‘就诊类型名称’,
HIS_PAT_ID
varchar(500) DEFAULT NULL COMMENT ‘患者业务唯一号’,
VISIT_NUM
varchar(500) DEFAULT NULL COMMENT ‘就诊次’,
OUT_TIME
varchar(500) DEFAULT NULL COMMENT ‘就诊时间’,
CURRENT_AGE
smallint(6) DEFAULT NULL COMMENT ‘就诊年龄’,
SC_OUT_DEPT
varchar(500) DEFAULT NULL COMMENT ‘就诊科室编码’,
ST_OUT_DEPT
varchar(500) DEFAULT NULL COMMENT ‘就诊科室名称’,
SC_OUT_DOCT
varchar(500) DEFAULT NULL COMMENT ‘就诊医师编码’,
ST_OUT_DOCT
varchar(500) DEFAULT NULL COMMENT ‘就诊医师名称’,
SD_VISIT_STATE
int(11) DEFAULT NULL COMMENT ‘就诊状态’,
SD_VISIT_STATE_NAME
varchar(500) DEFAULT NULL COMMENT ‘就诊状态名称’,
SD_VISIT_STATE_CODE
varchar(500) DEFAULT NULL COMMENT ‘就诊状态编码’,
DIAG_CODE
varchar(500) DEFAULT NULL COMMENT ‘诊断编码’,
DIAG_NAME
varchar(500) DEFAULT NULL COMMENT ‘诊断名称’,
ADMISSION_TIME
varchar(500) DEFAULT NULL COMMENT ‘入院时间’,
DISCHARGE_TIME
varchar(500) DEFAULT NULL COMMENT ‘出院时间’,
SC_ADM_DEPT
varchar(500) DEFAULT NULL COMMENT ‘入院科室编码’,
ST_ADM_DEPT
varchar(500) DEFAULT NULL COMMENT ‘入院科室名称’,
SC_ADM_WARD
varchar(500) DEFAULT NULL COMMENT ‘入院病区编码’,
ST_ADM_WARD
varchar(500) DEFAULT NULL COMMENT ‘入院病区名称’,
SC_ADM_BED
varchar(500) DEFAULT NULL COMMENT ‘入院病床编码’,
ST_ADM_BED
varchar(500) DEFAULT NULL COMMENT ‘入院病床名称’,
ADT_DEPT_NUM
bigint(20) DEFAULT NULL COMMENT ‘转床序号’,
SC_CUR_DEPT
varchar(500) DEFAULT NULL COMMENT ‘当前科室编码’,
ST_CUR_DEPT
varchar(500) DEFAULT NULL COMMENT ‘当前科室名称’,
SC_CUR_BED
varchar(500) DEFAULT NULL COMMENT ‘当前病床编码’,
ST_CUR_BED
varchar(500) DEFAULT NULL COMMENT ‘当前病床名称’,
SC_DIS_DEPT
varchar(500) DEFAULT NULL COMMENT ‘出院科室编码’,
ST_DIS_DEPT
varchar(500) DEFAULT NULL COMMENT ‘出院科室名称’,
SC_DIS_WARD
varchar(500) DEFAULT NULL COMMENT ‘出院病区编码’,
ST_DIS_WARD
varchar(500) DEFAULT NULL COMMENT ‘出院病区名称’,
IN_DAYS
varchar(500) DEFAULT NULL COMMENT ‘住院天数’,
INP_NO
varchar(500) DEFAULT NULL COMMENT ‘住院号’,
UPDATED_AT
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新时间’,
CREATED_AT
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
PRIMARY KEY (VISIT_ROWKEY
) /*T![clustered_index] CLUSTERED */,
KEY IDX_ORG_CODE
(ORG_CODE
),
KEY IDX_PATIENT_NAME
(PATIENT_NAME
),
KEY IDX_ID_CARD_NO
(ID_CARD_NO
),
KEY IDX_OUTP_NO
(OUTP_NO
),
KEY HIS_PAT_ID
(HIS_PAT_ID
),
KEY OUT_TIME
(OUT_TIME
),
KEY SD_VISIT_TYPE_CODE
(SD_VISIT_TYPE_CODE
),
KEY SC_OUT_DOCT
(SC_OUT_DOCT
),
KEY ST_OUT_DOCT
(ST_OUT_DOCT
),
KEY SC_OUT_DEPT
(SC_OUT_DEPT
),
KEY ST_OUT_DEPT
(ST_OUT_DEPT
),
KEY SD_VISIT_STATE_CODE
(SD_VISIT_STATE_CODE
),
KEY ADMISSION_TIME
(ADMISSION_TIME
),
KEY SC_ADM_DEPT
(SC_ADM_DEPT
),
KEY ST_ADM_DEPT
(ST_ADM_DEPT
),
KEY SC_ADM_WARD
(SC_ADM_WARD
),
KEY ST_ADM_WARD
(ST_ADM_WARD
),
KEY DISCHARGE_TIME
(DISCHARGE_TIME
),
KEY SC_DIS_DEPT
(SC_DIS_DEPT
),
KEY ST_DIS_DEPT
(ST_DIS_DEPT
),
KEY SC_DIS_WARD
(SC_DIS_WARD
),
KEY ST_DIS_WARD
(ST_DIS_WARD
),
KEY INP_NO
(INP_NO
),
KEY UPDATED_AT
(UPDATED_AT
),
KEY CREATED_AT
(CREATED_AT
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT=‘门诊就诊表’;
看执行节点的tidb组件日志就可以对吧
这个咋更新啊,analyze不是更新统计信息吗
你直接拷贝一张空表,然后再analyze table,看看能成功不
这个可以成功,但是灌了一下数据之后再analyze就报错
导入一行数据就报错吗?还是导入到一定程度就报错?
到了一定程度
你只保留主键,其他索引去掉,这样再导入数据 analyze table试试
蹲一手,
show create table table_name,怎么看着像视图
是表来的,表结构上面有发的
意思是索引过多可能会有这样的问题吗,这张表索引确实很多,索引的数据大小和表的数据大小差不多
推测是,如果只保留主键的情况下,能正常analyze table,那说明遇到产品BUG了
我试试把索引都删掉看看
哪个版本,应该是一个已知bug,看看能否使用非字符串类型主键来规避
Primary key column not found · Issue #38935 · pingcap/tidb (github.com)
版本是6.5.3,主键的话,不行只能搞个 AUTO_RANDOM
了
关闭fast analyze是吗,我试试
嗯呢,对,可以session级别试下看看