mysql - SQL ステートメントの最適化の問題
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-06-14 10:50:39
0
4
1031
リーリー

テーブル c のデータ量が数百万であると仮定し、これら 2 つのデータを最適化して実行を高速化する方法。 ###ありがとう###

女神的闺蜜爱上我
女神的闺蜜爱上我

全員に返信(4)
三叔

group by を使用し、where 条件を設定しない場合、mysql はすでにテーブル全体を読み取っています。また、データが数百万ある場合、テーブル内の各 a の合計数を直接 sum を使用してカウントすることは個人的にお勧めしません。おすすめの最適化はこれです。
1. スケジュールされたタスク、一時テーブル、統計テーブルを確立します
2. 一定量のデータを定期的に読み取り、そのデータの統計情報を統計テーブルに記録し、一定量のデータの最後の ID 値を一時テーブル。このidは次回読み込み時の条件として使用されます。

このセグメント化された統計は 2 つの最適化条件を満たすことができます

いいねを押す +0
给我你的怀抱

まずフィールド A にインデックスを追加しましょう

いいねを押す +0
某草草

MySQL で GROUP BY を最適化する方法

いいねを押す +0
黄舟

複合インデックス (a, b) を作成し、両方の SQL がインデックス スキャンを実行します

さらに、統計 SQL は特別なレポート ライブラリで実行する必要があり、時間指定およびセグメント化された統計も実行する必要があります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート