問題タブ [tempdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - tempdb を満たす大規模な SQL クエリには最適化が必要
私はかなり大きな SQL クエリを持っていますが、その大部分はレポート目的で SQL Server に複製する必要がある Business Objects SQL エクスポートからのものです。
これでビューは完成し、実行されますが、句の量が非常に多いため、tempdb がすぐにいっぱいになり、フォールオーバーします。
私が知っている限り、WHERE句にすべてが必要ですが、tempdbをいっぱいにしないように最適化できると思います。
Where 句は次のとおりです。
Onece を実行すると、約 50,000 行のデータが返されるはずです。tempdb に過度の圧力をかけるのをやめて、このクエリを実行する方法について、誰か提案をしてください。
sql-server - SQL Server tempdb 永続テーブルのユース ケース
tempdbデータベースの永続テーブルの使用例はありますか? 永続的とは、# や ## を使用せず、tempdb に実際のテーブルを作成することを意味します。SQL サービスを再起動すると tempdb が消去されることはわかっていますが、この方法は他の理由で悪いのでしょうか?
これには1つのユースケースがあるため、一時テーブルが必要ですが、それはSQL接続スパンを超えて開かれます。
編集: 長期的な一時テーブルの実際のデータはシリアル化されたファイルであり、照合などに基づくデータではありません
sql-server-2005 - SQL Server 2005のユーザー定義のデータ型、tempdb、およびアクセス許可
SQL Server 2005で実行されている、ユーザー定義のデータ型のDBがあります。ユーザー定義のデータ型もモデルデータベースに実装されているため、一時テーブルを作成するときに同じユーザー定義のデータ型を使用できます。
たとえば、AppDBでは次のデータ型を定義しています。
そして、モデルでもまったく同じです。
データベースインスタンスのセキュリティログインにsysadminサーバーの役割がある場合、ユーザーはproduct_codeデータ型を使用してtempdbにテーブルを作成するストアドプロシージャを問題なく呼び出すことができますが、アプリケーションのセキュリティログインからsysadminを削除すると、ストアドプロシージャの呼び出しは失敗します。
全体を通してユーザー定義のデータ型をvarcharシステムのデータ型に置き換えると、同じストアドプロシージャの呼び出しが成功します。
セキュリティ上の理由から、sysadminサーバーの役割をアプリケーションのセキュリティログインに追加したくありません。ユーザー定義のデータ型を引き続き使用する場合、どのようなオプションがありますか?これらのオプションはSQLServer2008で変更されますか?
具体的には、パブリックロールに付与されている権限以外にどのような権限が必要ですか?すべてのストアドプロシージャの編集が必要な回答は、応答しないと見なされます。
sql-server - T-SQL ストアド プロシージャで宣言された変数は、メモリまたは tempdb に保持されますか?
tempdb の競合を減らすために T-SQL ストアド プロシージャの一部を最適化しようとしていますが、テーブル以外の変数が SQL サーバーによってどのように格納されているかわかりません。
- INT や DATETIME のような単純なデータ型はどうですか? 彼らは記憶の中で生きているように感じます。
- VARCHARs/VARCHAR(MAX) はどうですか? 通常の VARCHAR はメモリ内に存在できますが、VARCHAR(MAX) はストレージに tempdb を使用する必要がある場合があります。
- テーブル変数は tempdb に格納されます。これらは私はあまり興味がありません。
tempdb に関する MSDN の記事では、通常の変数について説明していません。
database - 使用可能な RAM を十分に増やすことで、SQL Server で読み取り専用データベースを照会するときに tempdb の使用をなくすことはできますか?
リソースの使用状況を見ると、SQL Server はtempdb
いくつかの大きなクエリに対して多くの書き込みを行っています。
一時テーブル、テーブル変数、または書き込みは使用しません。そのサーバーで読み取り専用データベースの select ステートメントのみを実行します。
したがって、そのサーバーを十分なRAMでアップグレードするかどうか、SQL Serverはその追加のRAMを使用して使用をなくすことができるのでしょうか、それともtempdb
RAMの一部を割り当てtempdb
てRAMディスクに移動する必要がありますか?
Question SQL Server 2005 Memory Pressure and tempdb writes problemはそれに関連していますが、この状況には対処していません。
sql - What happens to data when running a query against a federated SQL Server?
SQL Azure give you an option to setup federated SQL servers - e.g. essentially partition your data across multiple servers by some key. However, when you run select * from order
, it puts all the data back together for you and the entire process is transparent to your app.
Now, let's say I have a stored procedure that makes liberal use of temp tables. So in a situation like this:
In this scenario, does the data flow each time from one server to the main one? Where is the temp table actually stored? All on the main box, or split up between federated ones?
sql-server - sql delete のパフォーマンスを向上させ、ログ ファイルと tempDB のサイズを削減しますか?
私は巨大なデータベースを持っており、毎日メール トラフィックを処理しています。システムでは、毎日いくつかの古いメールを削除する必要があります。
動作しますが、問題は、完了するまでに長い時間がかかり、そのためにログ ファイルが非常に大きくなることです。ログ ファイルのサイズは毎日 100 GB 以上増加します。
に変更できると思います
しかし、これ以外に、パフォーマンスを改善するためにできることはありますか。何よりも、ログファイルのサイズを減らしますか?
- EmailId はインデックス化されています。
sql - SQL Server Tempdb が 200GB を超える
以下のSQL構文
表 1 の情報:
- 行: 32,00,000
- NonClust_Index1_Col1
- NonClust_Index2_Col2
- NonClust_Index3_Col3
- NonClust_Index4_Col4
- NonClust_Index5_Col5
- クラスタ インデックスと主キーなし
表 2 の情報:
行数: 50,000
NonClust_Index1_Col1_Col2_Col3_Col4_Col5_Col6 (6 列の非クラスタ複合インデックス)
Clust_Index2_Col1_Col2_Col3_Col4_Col5_Col6 (6 列のクラスター複合インデックス)
この単純な削除構文 (削除構文はトランザクション スコープにあります) で TempDB のサイズが大きくなる (>200GB) 理由を特定するのを手伝ってください。
sql-server - tempdb がエラーをスローしているのに、データベースに約 5 GB の領域がある理由
アプリケーションで作業しているときに、上のスクリーン ショットに貼り付けられているようなエラーが突然表示され、何も実行できませんが、データベースを調べると、まだ 5 GB の空き容量が残っている場合、何が原因でしょうか? 親切にアドバイス
sql-server-2008 - Tempdb がいっぱいになる
私が現在取り組んでいる BI プロジェクトは、(多すぎる) 一時テーブルを使用する SP に基づく複雑なプロセスからデータを受け取ります。これは私たちが制御できないものです (または私が変更したはずです)。
このプロジェクトでの私たちの部分は、主に SSIS に基づいています。
プロセスは正常に実行されますが、tempdb が比較的早くいっぱいになり、エラーが発生し始めます。
私は2つのことを探しています:
- tempdb が「オーバーフロー」するのを防ぐ (または少なくとも遅くする) にはどうすればよいですか?
- オーバーフローしたときに tempdb をクリーンアップする方法は? (できれば SSIS を使用)