SELECTステートメントで一時テーブルを使用すると、論理I/Oカウントが向上するのはなぜですか?それを減らすのではなく、データベースへのヒットの量を増やすのではないでしょうか。これは、「問題」がセクションに分割されているためですか?私は裏で何が起こっているのか知りたいです。少なくともmysqlので、TMPのテーブルをデータベース側で収集構造体に結果を構築する問題のクラスがありますHD一時テーブルとSQL SELECTパフォーマンス
答えて
一般的な答えはありません。これは、テンポラリテーブルの使用方法によって異なります。
一時テーブルは、複雑なフィルタ/結合の後に複数回作成された行をバッチで後でキャッシュすることで、IOを削減できます。このようにして、DBは、レコードのサブセットのみが必要な場合に、ベーステーブルに複数回ヒットすることを避けることができます。
一時テーブルは、クエリで後で使用されないレコードを格納するか、または他のデータでよりよく使用されていた可能性のあるエンジンのキャッシュ内に多くの領域を占有することによってIOを増加させる可能性があります。
すべての内容を使用する一時テーブルを作成するのは、クエリオプティマイザが一時テーブルを見過ごすことができず、(おそらく)不必要なデータのspoolこれをソース表からストリーミングできるようにするのではなく、
あなたのRAMまたはあなたの設定がそのようなジブmemeoryテーブルを許可していない場合にのみ、tempテーブルが正常に遅くなるディスクを使用している場合に限り、tempテーブルが通常MEMORYタイプとしてビルドされます。 – Rufinus
、結果の部品をクライアントに返すよりも、各部品の丸めをする方がはるかに好ましい方法です。例えば
:任意の深さの再帰的な関係(のボス)
データがないと、クエリが効率的に実行可能な方法でインデックス化されることはありませんクエリの問題の別のクラスがあります。結果をカスタム構造で索引付けできるコレクション構造にすると、これらの問合せの論理IOが減少します。
を打つ何よりものSELECTがはるかに速くなって、RAMに保存されている私の知る限り
私はテンポラリテーブルによって、WHERE句のサブ選択を意味するつもりです。
クエリオプティマイザがサブ選択/一時表に出会うと、何をすべきかについていくつかの前提ができます(これは、セミジョイン操作と呼ばれ、通常はクエリのテキスト実行計画で参照できます)。そのデータで本質的に、オプティマイザは、サブ選択の結果セットの結合を実行する実行プランを作成し、他のテーブルから読み取る必要がある行の数を減らします。行数が少ないため、クエリエンジンはディスク/メモリからのページを少なく読み込み、必要なI/O量を減らすことができます。
- 1. ビューと一時テーブルのパフォーマンスの差
- 2. SQL Serverの一時テーブルとテーブル変数
- 3. SQL Server 2005一時テーブル
- 4. 一時的なSQL Serverテーブルのパフォーマンスを調整する方法
- 5. SQLサーバーの一時テーブル
- 6. SQLテーブルのセットアップとパフォーマンス
- 7. SQL 2005 - 一時テーブルの問題
- 8. SQLクエリのヘルプ - 一時テーブルの
- 9. SQL ServerのSELECTのパフォーマンスがSQL Serverで
- 10. SQLサーバーの一時テーブルとカーソルの比較
- 11. 一時テーブルとサブセレクトのパフォーマンスが大きく異なる理由
- 12. 共通テーブル式と一時テーブル
- 13. PostgreSQLの大きなテーブルのSELECT/INSERTパフォーマンス?
- 14. SQLの永続的な一時テーブル?
- 15. テーブル変数SQL Serverストアドプロシージャの挿入時のパフォーマンスが悪い
- 16. Sybaseの一時テーブルとインデックス
- 17. エクセルVBA - 一時テーブル
- 18. リストインデックスの範囲外のエラーSQL一時テーブル
- 19. T-SQL:共通テーブル式の一時列へのアクセス
- 20. SQL Azureで一時テーブルを使用する
- 21. SQL照合順序の競合一時テーブル
- 22. 一時テーブルpostgresql関数
- 23. 一時テーブルを削除できませんSQL
- 24. 複数のテーブルからのSQL SELECT
- 25. SQL Server - IDがSELECTにあるUPDATEテーブル?
- 26. SQL Server 2008では、udf内のselect文の一時テーブルを参照できますか?
- 27. MS SQL Serverに接続するときのRODBC一時テーブルの問題
- 28. SQLの派生テーブルのパフォーマンスの問題
- 29. SQL Server - テーブル参照でのクエリのパフォーマンス
- 30. SQL Serverのユーザー定義テーブル型のパフォーマンス
DBMSとは何ですか?どのSQLを話していますか?それを貼り付けてください! –