请教下各位大神,mysq update数据优化
遇到的问题是这样的。
表a有2个字段,ready_count,download_count
表b是统计表,有type,id
两个表的储存引擎都是MYISAM
需要把表b的数据count(1) group by(type)之后update到表a的那两个字段中。
我现在的SQL是这样的:
update a _t1
set
_t1.ready_count = (
SELECT count(1) FROM b _t2 WHERE _t2.tid = _t1.id and _t2.type = 1
),
_t1.download_count = (
SELECT count(1) FROM b _t2 WHERE _t2.tid = _t1.id and _t2.type = 2
),
请问怎么优化这个SQL呢?
我感觉这个SQL会随着数据的越来越庞大,显得越发的效率低下。
数据越来越大。。。。。。。。。
试试中间表,看看效率会不会好点,最烦之间关联了
创建中间表,看看效果如何,还可以创建索引。这样应该能有较大提升。
创建这两个type,id的索引
在加个字段,在加一个语句,把每次执行过的数据修改为已执行过的