私の質問に先だって、私はこのようなものを直接サポートしていないことを理解しています。私が探しているのは、私に半分の尊敬の念を抱かせるような回避策や派生した派生物です。MySQLの長いクエリの進行状況の監視
私は、クラスタエンジンを使用してかなり大きなMySQLクラスタ(テーブル> 4億行以上)を使用しています。
は道を知って、誰もがいずれかの MySQLでの長いクエリを通じて進歩の正確な表示を直接を取得するか、そうでない場合は(良いか)いくぶんを導出することですか?私は45分かかる可能性のあるクエリをいくつか持っており、私たちが10%か90%かどうかを判断する必要があります。
EDIT:
ここでコメントで要求されるように、私の元の質問につながっているクエリのの蒸留と総称化バージョンです...
SELECT `userId`
FROM `openEndedResponses` AS `oe`
WHERE
`oe`.`questionId` = 3 -- zip code
AND (REPLACE(REPLACE(`oe`.`value`, ' ', ''), '-', '') IN ('30071', '30106', '30122', '30134', '30135', '30168', '30180', '30185', '30187', '30317', '30004'));
このクエリ9500万行の単一の表に対して実行されます。クエリの実行には8秒、データの転送には13秒(合計21秒)かかります。テーブルのサイズと、使用されている文字列操作関数があることを考えると、かなり速く走っていると言えます。しかし、ユーザーには、まだ21秒間停止またはアイドル状態のままです。進行状況を示す指標が理想的です。
1回のクエリで最大45分かかりますか、それとも小さなINSERT/UPDATE/DELETEクエリですか? –
ただ1つのクエリ。 – KOGI
KOGI、あなたがあなたの問題を解決できたら、それを答えとして加えるべきです。 –