2009-03-09 9 views
2

私はいつも期待していましたが、それはそうではないと仮定しました。つまり、セット理論(または何か)が結果に近道を提供します。何千ものクエリを実行するのと同じように、MySQLビューから1つのレコードをクエリしていますか?

指数的な数のレコードを生成する方法で、複数のテーブルのデータを集計するビューを更新不可能なビューを作成しました。このビューから、私は一度に1つのレコードを照会します。基礎となるデータセットは小さいので、このテクニックはうまくいきますが、スケールされないことを心配しています。

MySQLは、ビューを実装するために一時テーブルを使用していると聞いたことがあります。私の心は、潜在的に大量の一時テーブルが存在するかどうかを問わず、それぞれのクエリごとに考えられます。

+0

クエリにEXPLAINの出力はどのようなものですか? – kquinn

答えて

1

explain <select query>構文を使用して、実際にクエリ内で何が起こるかを確認します。

一般に、ビューを使用することは、同じSQLでサブクエリを使用することと同じです。いいえ、悪いことではなく、同じサブクエリを何度も何度も書くのを防ぐための簡単な方法です。

時々、あなたは、いくつかのcomplesクエリを解決するために使用される一時テーブルになってしまいますが、DBの構造がよく最適化し、何も変更されませんビューの代わりに、サブクエリを使用している場合、それはしばしば起こるべきではありません。

関連する問題