web-dev-qa-db-ja.com

単一クエリのmysqlマルチスレッド

サイズが8GBの大きなデータベースがあり、このデータベースには900万件の連絡先があります。すべての連絡先を取得しようとすると、1つのクエリを実行するためにすべての連絡先を取得するのに約1時間または2時間かかります(場合によってはタイムアウトになります)。また、8個のCPUと24GBのRAM、Xeonプロセッサがあり、mysqlプロセスは8個のCPUに分散されません。私の質問は、単一のクエリに対してマルチスレッドを有効にできるかどうかです。

返信を待っています

1
user183980

Mysqlは、単一クエリのマルチスレッドをサポートしていません。

ほんの数日前、mysqlperformanceblogに、並列クエリを実行する利点を説明する良い投稿がありました。 http://www.mysqlperformanceblog.com/2014/01/07/increasing-slow-query-performance-with-parallel-query-execution/

単純なクエリで連絡先を取得するだけの場合は、IOがボトルネックになっている可能性もあります。

3
Manuel Sousa

連絡先がどのくらいの量を表しているのか、どのクエリを使用しているのかはわかりませんが、そのような情報には1時間または2時間は少し長すぎるようです。

I/Oがボトルネックであるか、クエリを調整する必要があります。

0
David Doumèche