+ -
当前位置:首页 → 问答吧 → MYSQL两个批量更新处理的效率优化小问题

MYSQL两个批量更新处理的效率优化小问题

时间:2011-12-18

来源:互联网

1、现有一组分隔好的词语数组,判断数组中是否已存在与A表中word字段相同的词语,如果没有则插入,如果有则跳过。
这个最优的的解决方案是 insert into dupilicate key 什么的,和临时表吧? 还有没有更优的方案? 数据量很大,上万。

2、现有若干个B表,存放着不同分类但是格式相同的词语数组,统计A表中,每个word在每个B表的每个text字段中出现的总次数,
比如说:
word = 论坛 
B1里面的类似于
论坛,csdn,IT
论坛,csdn,IT,星座
论坛,csdn,IT,美容
统计B1里面论坛出现的次数,加入到A表的论坛行的B1列中。
还有B2,B3,数十个,
A中词语有上十万个,求最优方案。
PHP+MYSQL

作者: guanjunjie   发布时间: 2011-12-18

引用1、现有一组分隔好的词语数组,判断数组中是否已存在与A表中word字段相同的词语,如果没有则插入,如果有则跳过。
这个最优的的解决方案是 insert into dupilicate key 什么的,和临时表吧? 还有没有更优的方案? 数据量很大,上万。


最优的的解决方案是 insert into dupilicate key

作者: ACMAIN_CHM   发布时间: 2011-12-18

引用2、现有若干个B表,存放着不同分类但是格式相同的词语数组,统计A表中,每个word在每个B表的每个text字段中出现的总次数,
比如说:
word = 论坛
B1里面的类似于
论坛,csdn,IT
论坛,csdn,IT,星座
论坛,csdn,IT,美容
统计B1里面论坛出现的次数,加入到A表的论坛行的B1列中。
还有B2,B3,数十个,
A中词语有上十万个,求最优方案。
PHP+MYSQL


创建B1的索引,然后再创建MERGE存储引擎表。

作者: ACMAIN_CHM   发布时间: 2011-12-18

引用 2 楼 acmain_chm 的回复:
引用2、现有若干个B表,存放着不同分类但是格式相同的词语数组,统计A表中,每个word在每个B表的每个text字段中出现的总次数,
比如说:
word = 论坛
B1里面的类似于
论坛,csdn,IT
论坛,csdn,IT,星座
论坛,csdn,IT,美容
统计B1里面论坛出现的次数,加入到A表的论坛行的B1列中。
还有B2,B3,数十个,
A中词语有上十万个,求最优方案。
P……



B1结构中只有text属性的字段和自增id字段,当然text的长度不大,应该可以转成varchar,是对该列索引?
至于merge 我先看看,谢谢指教 ^_^

作者: guanjunjie   发布时间: 2011-12-18

还有一个问题,由于是做分类查询,B1,B2,B3等等之间只是结构相同而内容可能无相关性,使用MERGE存储引擎表可以将其查询结果区分开来么

作者: guanjunjie   发布时间: 2011-12-18