それぞれ 2,000 万行を超える行を持つ 3 つのテーブルを含むデータベースがあります。主キーとして GUID を使用しました (残念ながら)。現在、データベースは約 20 GB で、毎月 5 GB ずつ増えています。
データベースのフル バックアップを作成するのに約 2 時間、4GB RAM のボックスで復元するのに 30 時間かかります。
データベースのすべてのテーブルが消えたことがあります。同じサーバー内の他のmysqlデータベースは、1つを除いて問題ありませんでした-データのみが消え、空のテーブルが残りました。
選択クエリ (多くの遅いクエリの中でも) - 20m のテーブルのいずれかで最大の日付列を取得すると、結果が返されるまでに約 5 分かかります。このクエリはかなり頻繁に使用されます。
私が探している答え
- 推奨されるデータベース設計の変更
- 選択クエリのパフォーマンスを改善する方法 - 20m レコードの最大日付列
- 他のクエリのパフォーマンス
- 将来のデータベースの成長を処理する方法
ご清聴ありがとうございました。