一. 概念介绍
并行执行,就是将一个大型串行任务物理地划分为多个较小的部分,这些较小的部分可以同时进行处理。这就好比盖房子,有一些事情可以同时进行,比如:铺设管线和电路配线可以同时进行。尽量让能同时进行的事情同时处理,能够大大提高整个任务的执行速度。
二. 并行执行使用场景
并行执行并不是万能药,有时候并行执行不但没有提高执行速度,反而拖累了执行速度。比如你有一台4CPU的主机,平均有32个用户同时执行查询,那么你不希望并行执行他们的操作。因为如果允许每一个用户执行一个“并行度为2”的查询,那么就相当于在这台4CPU的主机发生64个并发操作,这样速度也就更慢了。
如果要使用并行执行,一般需要考虑两个条件:
1. 有一个非常大的任务,比如对一个50G数据进行全表扫描。
2. 必须有足够多的可用资源。在扫描50G的数据之前,你要确保有足够多大空闲cpu,足够多的I/O通道。
也就是说,要有足够雄厚的资本才能进行并行执行,否则反而会被其拖累。