2 つのテーブル A には 2000 のエントリがあり、B には 2000 万のエントリがあります
A から a.xxx、b.xxx、b.xxxx を選択し、a.xx = 0 の a.id = b.bid で b を左結合しますそして a.xxx != 0;
2 つのテーブル A には 2000 のエントリがあり、B には 2000 万のエントリがあります
A から a.xxx、b.xxx、b.xxxx を選択し、a.xx = 0 の a.id = b.bid で b を左結合しますそして a.xxx != 0;
ページをチェックインし、一度に大量のデータを取得しないでください
冗長性をチェックするbの2つのフィールドはテーブルaにあるため、結合する必要はありません
キャッシュする必要があります。キャッシュしないとデータベースがサポートできなくなります
データ量が数千万に達したら、水平分割を検討する必要があります
まず、私はバックエンドの人間ではないので、知っていることしか言えません
ツールが実行計画を確認できるかどうかはわかりません。実行計画が確認できる場合は、どのプロセスがより大きなデータを生成するかは、最適化できるかどうかによって異なります。
インデックスを追加すると最適化できるはずであることもわかっています