我在研究蜂巢,而且是新的。
我正在尝试改进以下代码的性能:
INSERT INTO target_table
(col1,col2,col3...) --- I have 64 columns in total
SELECT
t1.col1,t1.col2,t1.col3...
FROM (
SELECT
ts.col1,ts.col2,ts.col3...
FROM source_table ts
LEFT JOIN label_table tb
ON ( ts.colx = tb.colx AND ts.coly = tb.coly )
WHERE
ts.colx <> '' AND ts.colx <> 'NULL'
AND ts.colx IS NOT NULL
AND tb.colx IS NULL
LIMIT 10000
) t1
此代码的目标是将行插入
target_table
,来自
source_table
以及谁的
colx
在中未找到
label_table
.
这个
源表
包含大约14亿行和
标签\表格
行数较少,但我将在中插入更多行
标签\表格
未来(其行数最终将超过10亿)。
我的问题是:目前这个代码处理10000行大约需要半个小时
LIMIT
是
10,000
)。如果我增加
限制
到
1,000,000
当还原过程达到66.6%时,我的代码将被卡住。因为我有14亿行要处理,所以总时间对我来说太长了。是否有任何方法可以帮助增强此代码的性能?有人能给点建议吗?
提前谢谢!