質問するログイン新規登録

質問編集履歴

2

追加情報

2020/10/02 07:04

投稿

y_kato
y_kato

スコア0

title CHANGED
File without changes
body CHANGED
@@ -14,6 +14,9 @@
14
14
 
15
15
  問題(現状):AとBのクライアントにはそれぞれ約4秒でレスポンスが返ってきます
16
16
 
17
+
18
+ 参考:別のリソースを参照する異なるクエリを同時に発行した場合では、意図した並列処理の実行時間でレスポンスが得られました。
19
+
17
20
  ### 詳細
18
21
 
19
22
  同一クエリを同時に2つ発行すると単体で実行した場合と比較して、倍近くの時間がかかってしまいます。

1

追加情報の記載

2020/10/02 07:04

投稿

y_kato
y_kato

スコア0

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,7 @@
3
3
  MySQLにて、同一クエリを同時に発行した場合、それぞれのクエリを並列に処理したいです
4
4
 
5
5
  環境:MySQL 5.7.25(Docker)
6
+ トランザクション:REPEATABLE READ(デフォルト)
6
7
 
7
8
  例:実行に2秒かかる遅めのクエリがあります(集計系のクエリを想定しています)
8
9
  クエリ:サブクエリを含んだSELECT文(FOR UPDATEなどのロックに関する処理はありません)
@@ -18,7 +19,7 @@
18
19
  同一クエリを同時に2つ発行すると単体で実行した場合と比較して、倍近くの時間がかかってしまいます。
19
20
  まるで直列に実行したような挙動になってしまいます。
20
21
  推測ですが、同一クエリで同じリソースを参照しているために、ロックがかかってしまい、結果として直列処理のような挙動になってしまっていると思われます。
21
- MySQLのロックやトランザクションについて、いくつか調査をしましたが、上記に関連するような記は見つけられませんでした。
22
+ MySQLのロックやトランザクションについて、いくつか調査をしましたが、上記に関連するような記は見つけられませんでした。
22
23
  また、MySQLでは特別な設定はしておらず、全てデフォルトの設定です。
23
24
 
24
25
  上記現象に関して、どなたか知見がございましたら、助言をお願いできませんでしょうか。