問題タブ [temp-tables]
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-server - 動的SQLから一時テーブルへのTSQLの書き込み
次のコードを検討してください。
どうやらこれは、execコマンドが別のセッションをスピンオフし、#tempがそのセッションに対してローカルであるためです。グローバル一時テーブル##tempを使用できますが、衝突を回避するための命名スキームを考え出す必要があります。皆さんは何をお勧めしますか?
sql-server - TSQLは、スキーマを定義せずに一時テーブル(またはテーブル変数)を定義しますか?
前もってスキーマを定義せずに一時テーブルを定義する方法はありますか?
sql-server - SQL Server でのグローバル一時テーブル (##tempTable) の削除
SQL サーバーは、非アクティブ状態が一定時間続くとこれらを自動的に削除しますか? それとも、自動的に削除することを心配する必要がありますか? その場合、パージするテーブルのリストを照会するにはどうすればよいですか?
sql-server - パフォーマンスの高いCTEテーブルと一時テーブルのどちらですか?
どちらがよりパフォーマンスが高いですか、CTE
またはTemporary Tables
?
mysql - MySQL の重大なパフォーマンスの問題 (結合、一時テーブル、ファイルソートなど)
ユーザーテーブルと投票テーブルがあります。投票テーブルには、他のユーザーに対する投票が格納されます。そして、良くも悪くも、votes テーブルの 1 つの行に、2 人のユーザー間の双方向の投票が格納されます。
さて、問題は、たとえば誰かが投票したすべての人をリストしたいときです。
私は MySQL の専門家ではありませんが、結合ステートメントの OR 条件のおかげで、 users テーブル全体(現在 +44,000 行) を調べる必要があり、実行する一時テーブルを作成する必要があることがわかりました。それで。
現在、次のクエリには約 2 分かかります。はい、完了までに2 分かかります。OR 条件を削除し、その後の結合ステートメントをすべて削除すると、44,000 のユーザー行のうち約 17 行を調べるだけで済むため、0.5 秒未満で実行されます (説明してください!)。
次の例では、ユーザー ID は9834で、自分の投票なしをフェッチし、投票されたユーザーからの情報を結果に結合しようとしています。
このクエリを実行するためのより良い、より高速な方法はありますか? または、テーブルを再構築する必要がありますか? クエリを変更することで修正できることを真剣に願っています。テーブルには既に多くのユーザー (+44,000) と投票 (+130,000) があるため、移行する必要があります。
ありがとう :)
sql - データベースの大規模な更新を効率的に行うにはどうすればよいですか?
重複したエントリを含むテーブルがあります。1 つを除いてすべて破棄してから、この最新のものを更新する必要があります。次のように、一時テーブルと while ステートメントを試しました。
しかし、処理する行が 20000 ~ 30000 行しかない場合でも、時間がかかりすぎます。
パフォーマンスを向上させるための提案はありますか?
前もって感謝します!
tsql - TSQL にアクセスすると、CLR ストアド プロシージャから #temp テーブルが作成されました。出来ますか?
- 次の2 つのことを行う TSQL ストアド プロシージャtsql__sp__Aがあります。
(a)複雑な SELECT クエリからの SELECT データを含む一時テーブル#tempTableを作成します。
(b)行パラメーターで計算を行う行ごとに、CLR マネージ ストアド プロシージャclr__sp__Bを呼び出します。
質問: 同じ接続コンテキストを使用して、CLR プロシージャ clr__sp__B から#tempTableにアクセスできますか? (いいえ、マネージ プロシージャ内で別の#tempTableを移動または作成したくありません)
ありがとう。
sql - 一時テーブルからフィールド名を取得する方法 (SQL Server 2008)
SQL Server 2008 を使用しています。次のような一時テーブルを作成するとします。
フィールドのリストを動的に取得するにはどうすればよいですか? 私はこのようなものを見たいです:
sys.columns のクエリを考えていましたが、一時テーブルに関する情報が保存されていないようです。何か案は?
sql-server - 一時テーブルを動的に作成し、一時テーブルに挿入してから、
基本的に、既存のテーブルに基づいて一時テーブルを動的に作成し、一時テーブルに値を挿入して、挿入された値を選択できるようにしたいです。
一時テーブルを作成できる部分がありますが、フォームの挿入と選択がうまく機能していないだけです。
これが私の現在のコードです。
これは私が得るエラーです:
(影響を受ける44行)
(影響を受ける1行)
(影響を受ける1行)メッセージ208、レベル16、状態0、行2無効なオブジェクト名'#Projects'。メッセージ208、レベル16、状態0、行1無効なオブジェクト名'#Projects'。
sql-server - openrowset を使用して Excel ファイルを一時テーブルに読み込みます。そのテーブルを参照するにはどうすればよいですか?
Excelファイルを一時テーブルに読み込み、そのテーブルのデータの一部をマッサージし、そのテーブルから選択した行を永続テーブルに挿入するストアドプロシージャを作成しようとしています.
したがって、次のように始まります。
それくらい効きそうです。
ただし、次のようなことを試してみると:
エラーが発生します:
無効なオブジェクト名 '#mytemptable'
#mytemptable が認識されないのはなぜですか? 残りのストアド プロシージャから #mytemptable にアクセスできるようにする方法はありますか?
よろしくお願いします!