union all 效率问题
四个结构一样的sql分开执行速度都很快(5秒内),但是把四个sql语句unionall在一起执行速度很慢(300秒左右)请根据以上情况分析分析原因。“sql分开执行”是指...
四个结构一样的sql分开执行速度都很快(5秒内),但是把四个sql语句union all在一起执行速度很慢(300秒左右)请根据以上情况分析分析原因。
“sql分开执行”是指用 select * 这种查
字段50多个,表的数据量大 展开
“sql分开执行”是指用 select * 这种查
字段50多个,表的数据量大 展开
2个回答
展开全部
你说的是“sql分开执行”是指用 select * 这种查吗?
如果是的话,那么这种查询都需要5秒的话,说明这个表的数量级已经是非常大了,如果排除列不是那种超多的情况的话并且排除计算机配置等其它外因的话,那表的记录数应该至少应该是个百万级吧。
百万级的数据表之间用全连接查询,全连接要匹配所有的字段,每个列的每个字段都会被取出来判断,就算每个表只有一列的话,那记录对应判断的逻辑操作就是百万级的百万级,然后再四表连查,效率自然会非常非常低了。
嗯,那应该就对了,难怪查询耗费那么多时间。
如果是的话,那么这种查询都需要5秒的话,说明这个表的数量级已经是非常大了,如果排除列不是那种超多的情况的话并且排除计算机配置等其它外因的话,那表的记录数应该至少应该是个百万级吧。
百万级的数据表之间用全连接查询,全连接要匹配所有的字段,每个列的每个字段都会被取出来判断,就算每个表只有一列的话,那记录对应判断的逻辑操作就是百万级的百万级,然后再四表连查,效率自然会非常非常低了。
嗯,那应该就对了,难怪查询耗费那么多时间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
占用缓存的问题吧,你可以试图将4个SQL分别插入一张表,然后再从这张表查出数据来,应该就很快了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询