問題タブ [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.

0 投票する
9 に答える
4011 参照

c# - returnステートメントは、usingステートメントがデータベースへの接続を閉じるのを防ぐことができますか?

一時テーブルを作成しているときに、一時テーブルがすでに存在することを通知するエラーメッセージが表示されます。一時テーブルはセッションに固有であるため、接続が適切に閉じられていないようです。これは、usingステートメントにあるreturnステートメントと関係があると思います。

私は次のコードを持っています:

この種のコードをいくつかの場所で使用して、同じ名前の一時テーブルを作成します。

残念ながら、次のエラーが発生しますThere is already an object named '#MyTempTable' in the database

これで、一時テーブルはセッションに固有であることがわかったので、セッションを閉じると消えるはずです。

これを引き起こす可能性があると私が信じている3つのことがあります...

  1. connection.Close()を呼び出す必要があります
  2. usingステートメントの外にreturnステートメントを配置する必要があります
  3. 戻る前に作成した一時テーブルを削除する必要があります

誰かがそれがどれであるか知っていますか?またはそれが私が考えていなかったものなら?

0 投票する
16 に答える
1728867 参照

sql-server - 一時テーブルを作成する前に、一時テーブルが存在するかどうかを確認し、存在する場合は削除します

次のコードを使用して、一時テーブルが存在するかどうかを確認し、存在する場合はテーブルを削除してから再度作成しています。列を変更しない限り、正常に動作します。後で列を追加すると、「無効な列」というエラーが表示されます。私が間違っていることを教えてください。

0 投票する
8 に答える
34773 参照

sql-server - 動的SQLから一時テーブルへのTSQLの書き込み

次のコードを検討してください。

どうやらこれは、execコマンドが別のセッションをスピンオフし、#tempがそのセッションに対してローカルであるためです。グローバル一時テーブル##tempを使用できますが、衝突を回避するための命名スキームを考え出す必要があります。皆さんは何をお勧めしますか?

0 投票する
3 に答える
95883 参照

sql-server - TSQLは、スキーマを定義せずに一時テーブル(またはテーブル変数)を定義しますか?

前もってスキーマを定義せずに一時テーブルを定義する方法はありますか?

0 投票する
4 に答える
47984 参照

sql-server - SQL Server でのグローバル一時テーブル (##tempTable) の削除

SQL サーバーは、非アクティブ状態が一定時間続くとこれらを自動的に削除しますか? それとも、自動的に削除することを心配する必要がありますか? その場合、パージするテーブルのリストを照会するにはどうすればよいですか?

0 投票する
12 に答える
193907 参照

sql-server - パフォーマンスの高いCTEテーブルと一時テーブルのどちらですか?

どちらがよりパフォーマンスが高いですか、CTEまたはTemporary Tables

0 投票する
2 に答える
4174 参照

mysql - MySQL の重大なパフォーマンスの問題 (結合、一時テーブル、ファイルソートなど)

ユーザーテーブルと投票テーブルがあります。投票テーブルには、他のユーザーに対する投票が格納されます。そして、良くも悪くも、votes テーブルの 1 つの行に、2 人のユーザー間の双方向の投票が格納されます。

さて、問題は、たとえば誰かが投票したすべての人をリストしたいときです。

私は MySQL の専門家ではありませんが、結合ステートメントの OR 条件のおかげで、 users テーブル全体(現在 +44,000 行) を調べる必要があり、実行する一時テーブルを作成する必要があることがわかりました。それで。

現在、次のクエリには約 2 分かかります。はい、完了までに2 分かかります。OR 条件を削除し、その後の結合ステートメントをすべて削除すると、44,000 のユーザー行のうち約 17 行を調べるだけで済むため、0.5 秒未満で実行されます (説明してください!)。

次の例では、ユーザー ID は9834で、自分投票なしをフェッチし、投票されたユーザーからの情報を結果に結合しようとしています。

このクエリを実行するためのより良い、より高速な方法はありますか? または、テーブルを再構築する必要がありますか? クエリを変更することで修正できることを真剣に願っています。テーブルには既に多くのユーザー (+44,000) と投票 (+130,000) があるため、移行する必要があります。

ありがとう :)

0 投票する
3 に答える
799 参照

sql - データベースの大規模な更新を効率的に行うにはどうすればよいですか?

重複したエントリを含むテーブルがあります。1 つを除いてすべて破棄してから、この最新のものを更新する必要があります。次のように、一時テーブルと while ステートメントを試しました。

しかし、処理する行が 20000 ~ 30000 行しかない場合でも、時間がかかりすぎます。

パフォーマンスを向上させるための提案はありますか?

前もって感謝します!

0 投票する
2 に答える
3204 参照

tsql - TSQL にアクセスすると、CLR ストアド プロシージャから #temp テーブルが作成されました。出来ますか?

  1. 次の2 つのことを行う TSQL ストアド プロシージャtsql__sp__Aがあります。

(a)複雑な SELECT クエリからの SELECT データを含む一時テーブル#tempTableを作成します。

(b)行パラメーターで計算を行う行ごとに、CLR マネージ ストアド プロシージャclr__sp__Bを呼び出します。

質問: 同じ接続コンテキストを使用して、CLR プロシージャ clr__sp__B から#tempTableにアクセスできますか? (いいえ、マネージ プロシージャ内で別の#tempTableを移動または作成したくありません)

ありがとう。