私は1500万〜2,000万行のMySqlテーブルを持っています。私は過去に100%以上の性能向上のためにデータ分割を使用しました。しかし、今、次のクエリを実行すると、クエルが実行されるまでに60秒以上かかりました。説明でMySQLクエリが非常に遅い
select state, gender, count(*) from big_data where gender in ('Sugar Daddy','Sugar Baby') group by state, gender
結果
[SQL]select state, gender, count(*) from big_data where gender in ('Sugar Daddy','Sugar Baby') group by state, gender
Affected rows: 0
Time: 59.390s
私が見つかりました:時間の 99%が一時テーブルにコピー過ごしました!このクエリのパフォーマンスを向上させるにはどうすればよいですか?
スキーマ&説明:
複数の評価を行う必要があるため、必ずINを使用するのは遅くなります。文字列型の列の場合。他の方法で進むことはできませんか?あなたのテーブルにインデックスが定義されていますか? –
インデックス(gender、state)が必要です。テーブルスキーマとEXPLAIN結果を投稿してください。 –
うん、インデックスが定義されています。 –