0

約 30 GB のデータを含む MySQL データベースがあります。一部のテーブルには、4,000 万行を超える行が含まれています。InnoDBを使用しています。ローカル PC で「select count(*) from table_name」のみを使用してクエリを実行すると、約 5 分かかります。テーブルの結合は私には無理だと思います。パフォーマンスを向上させるために何かできることはありますか?または、別のデータベースに切り替える必要がありますか? DB でこのような大きなデータに遭遇することはありません。助けてください。

4

3 に答える 3

0

MySQL InnoDB テーブルは行数を保持しないため、SELECT COUNT(*)遅くなる可能性があります。これは、他のクエリがどのように実行されるかを示すものではありませんが、テーブル全体のスキャンがどの程度遅くなるかを示しています。わずか 4,000 万行の場合に 5 分間というのは非常に悪く、データベースまたはディスクに重大な問題があることを示している可能性があります。

これがテーマのパフォーマンスブログです。この関連する回答も参照してください。

于 2015-11-11T03:50:25.960 に答える