2
Debianで単一のMySQLクエリに複数のコアを使用する
ゲストOSとしてDebianを使用するVM(VMWare)でテスト用のMySQLサーバーを実行しています。ゲストには4つのエミュレートされたCPUコアがあるため、thread_concurrencyを4に設定しました。 数分かかる可能性のある大きなテーブルで高価な結合を行っていますが、ゲストOSで一度に使用されるコアは1つだけです。これは、関係するテーブルに使用されているストレージエンジンに関係なく発生します(MyISAMおよびInnoDBでテスト済み)。さらに、これらの大きなクエリを実行すると、データベース全体がブロックされているように見えるため、追加のクエリを並行して実行することはできません。奇妙なことに、htopは、クエリに使用されるコアがクエリの実行中に変化することを示しています! なぜこれが起こるのですか? これは関連するエントリですSHOW FULL PROCESSLIST;(他のクエリはありません)。 | 153 | root | localhost | pulse_stocks | Query | 50 | Copying to tmp table | SELECT DISTINCT * FROM `pulse_stocks`.`stocks` sto, `pulse_new`.`security` sec WHERE (sto.excntry = sec.excntry AND sto.stock_id = sec.ibtic) OR ( sto.isin = sec.isin AND sto.isin <> "" AND …