47677


SQLでパラレル実行を実行すると速度が速くなると思いますが、なぜ速くなるのでしょうか？  
もちろん、パラレル実行でググってみたりしましたが、いまいち理解できず・・・。”並列処理”という言葉をぼんやりとした理解しかしていないのが問題かもしれませんが、SQLで並列処理をした場合、何を並列しているから速くなるのでしょうか？


CC BY-SA 4.0
2018-08-20T08:29:10.707
47664
2018-08-21T00:33:09.407
29388
question
mysql sql
パラレル実行の仕組みについて


処理全体のうち、パラレル実行可能な部分を、複数台のサーバで分担して実行するからです。  
例えば、同じデータを保持しているサーバA,Bがあったとして、それらをつかって

> select sum(amount) from sales where itemId in (10,21);

という検索処理をパラレル実行するとします。

この場合は、サーバAで

> select sum(amount) from sales where itemId = 10;

を実行し、サーバBで

> select sum(amount) from sales where itemId = 21;

を実行し結果をサーバAかB(あるいは全然別のサーバ)で、AとBの結果を足せば良いですよね。

パラレル実行の仕組みは、そういう分担処理を自動的にやってくれます。

普通に一台で実行するときは、上記の処理を1台のサーバで順番に実行しなければならないので、複数台で分担してやるとその分、処理全体では早く完了できる、ということです。


CC BY-SA 4.0
2018-08-21T00:33:09.407
47677
2018-08-21T00:33:09.407
7572
47664
answer