マルチスレッドをイメージする
Javaにおけるスレッドプログラミング、
コアの数、オラクルのSQL経過時間、
オラクルのバラレルヒント。
Javaでの親スレッドが動き出す。
子スレッドが複数起動。
スレッドを表す横線を増やす。
コアの数に制限があるので、同時に動いてるスレッドは制限された絵を描く。
runメソッドの開始と終了にログを埋め込んでおく。
オラクルもコアの数に制限されてる。
Javaの子スレッドと同じ数だけオラクルも動こうとする。
オラクルもマルチで動いてる絵にする。
SQL経過時間を子スレッドの数で割り、
オラクルの各々の線に書き加える。
runメソッドに埋め込んだログから、
Javaの時間も書き加える。
準備はこんなもんか。
今回はパラレルヒントは無視されてるっぽいので絵にはあらわさない。
どこをどうすれば目標の時間に終わるのかを考えるか。
DB CPUがネック。Javaの子スレッドを増やしてさらなる並列を目指しても意味はない。
やっぱりSQL自体を早くするのが一番にやるべきこと。