【发布时间】:2016-04-19 17:39:49
【问题描述】:
我有 MariaDb 实例和一个临时表。工作流程:
- 开始交易
- 如果存在则删除临时表,创建临时表
- 使用
insert into TEMP1 (xxx,yyy) values(?,?),(?,?),(?,?),(?,?)...向其中插入 40K 记录 - 以某种方式处理这些数据
- 结束交易
Worflow 在一个线程中执行。 问题定义:此工作流的第一次运行在 1-3 秒内插入 40K 记录,所有连续运行在 30-40 秒内插入 40K。
谁能告诉如何让它在所有运行中运行 1-3 秒?
表定义:
CREATE TEMPORARY TABLE IF NOT EXISTS TEMP1 (
uuid varchar(80) COLLATE utf8_unicode_ci NOT NULL,
raw_content longtext COLLATE utf8_unicode_ci NOT NULL,
security_level varchar(255) COLLATE utf8_unicode_ci NOT NULL,
key_name varchar(255) COLLATE utf8_unicode_ci NOT NULL,
stage_user_uuid varchar(80) NOT NULL,
data_type varchar(255) COLLATE utf8_unicode_ci NOT NULL,
string_value varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
integer_value bigint(20) DEFAULT NULL,
double_value double DEFAULT NULL,
date_value datetime DEFAULT NULL,
INDEX user_uuid_idx (stage_user_uuid)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
【问题讨论】:
-
您确定
CREATE不会终止交易吗? -
桌子上没有
PRIMARY KEY?
标签: mysql performance mariadb