ホームページ  >  記事  >  バックエンド開発  >  複数テーブルの結合クエリ プラン

複数テーブルの結合クエリ プラン

WBOY
WBOYオリジナル
2016-06-23 14:04:541005ブラウズ

現在、すべての伝票からデータをクエリする関数に取り組んでいます。これらの伝票は合計 7 つの伝票と 14 のテーブルがあります。皆さんにお聞きしたいのですが、共同クエリの方が良いのでしょうか、それとも他に良い解決策はあるのでしょうか?


ディスカッションへの返信 (解決策)

クエリ要件に従って複数のビューを作成します

クエリ要件に従っていくつかのビューを作成します

実際、必要なのは、これらの数十のテーブルからクエリを実行することです。何度か問い合わせるということですか?

クエリ要件に従って複数のビューを作成します

これらのテーブルを一度にクエリすると非常に遅くなりますか?

まずデータベース関連の情報を読み、「ビュー」とは何かを調べます
そうすればわかります
コンピュータ データベースのビューは、その内容がクエリによって定義される仮想テーブルです。実際のテーブルと同様に、ビューには一連の名前付きのデータ行と列が含まれています。ただし、ビューはデータベースに保存されたデータ値のセットとしては存在しません。行と列のデータは、ビューを定義するクエリによって参照されるテーブルから取得され、ビューが参照されるときに動的に生成されます。

ビューは作成時に設計したテーブルやフィールドと関連付けられるので、通常のクエリのように何度も検索する必要はありません
こちらの方が当然早いです

ご指摘のビューの定義を検索してみましたインターネットで何度も見ました。実際、SQL テーブル マージ ステートメントを直接記述することと、ビューに記述することの違いが、単に SQL ステートメントがデータベース内に存在して簡単に呼び出せるという理由だけである場合、私には理解できません。このビューは非常に役立つと思います。しかし、「ビューは作成時に設計されたテーブルやフィールドに関連付けられるため、通常のクエリのように何度も検索する必要はありません。当然、その方が高速です。」とおっしゃいました。これにより、クエリの効率が向上する可能性があります。

ユニオンクエリはデータベースの基本的な使い方です。効率をあまり気にしないでください。重要なのは、適切なインデックスを構築する必要があるということです。

ユニオンクエリはデータベースの基本的な使い方です。効率をあまり気にしないでください。重要なのは、適切なインデックスを構築する必要があるということです

実際、クエリを実行するテーブルが直接関連していることはほとんどありません。たとえば、売上伝票は売上伝票の詳細にのみ関連付けられ、支払い伝票はその詳細に関連付けられます。このような 1 対 1 のテーブルは 7 組も存在します。これらの伝票テーブルからいくつかの情報をまとめようとしています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。