問題タブ [memory-table]

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 投票する
2 に答える
4187 参照

mysql - 一時 MEMORY テーブルをドロップしない場合、どのくらいの期間保持されますか (MySQL)

MySQL で再帰ストアド プロシージャを使用して という一時テーブルを生成してid_listいますが、そのプロシージャの結果をフォローアップの選択クエリで使用する必要があるためDROP、プロシージャ内で一時テーブルを作成することはできません...

プロシージャを呼び出すとき、最初の値は必要なブランチのトップ ID であり、2 番目の値はtierプロシージャが再帰中に使用する です。tier = 0再帰ループの前に、それが実行されるかどうかをチェックします。

したがって、私の質問は次のとおりです。手順の最後またはトランザクション内で一時テーブルを使用しない場合、そのテーブルはメモリ内にどれくらいの期間保持されますか? セッションが終了すると自動的に削除されますか、それとも接続が開いている限りメモリに残りますか?DROPMEMORY

**注: 明らかな答えは、コミット ステートメントの前に一時テーブルを削除することかもしれませんが、それができないと仮定しましょう。*


この質問に対するより詳細な回答は、https ://dba.stackexchange.com/questions/57971/how-long-will-a-temporary-memory-table-persist-if-i-dont-drop- にあります。 it-mysqlなので、この質問を閉じることに投票しました。

0 投票する
1 に答える
393 参照

mysql - MySQL: MEMORY STORAGE ENGINE を使用してこのクエリのパフォーマンスを向上させる

私はこのユースケースを持っています:同じテーブルに対して同じ「ロジック」クエリを一定回数、複数回実行する必要があります(同じセマンティックで、「WHERE」ステートメントが比較される値のみが異なります)。

クエリ レイアウト:

このタスクのパフォーマンスを向上させるふりをします。

この問題についてここで見つけた記事を読んだり、追加の調査を行ったりすると、次の関連する事実を指摘できます。

  • 内部一時テーブルは使用されません (クエリで EXPLAIN を使用)
  • クエリ キャッシュは使用されません (同一のクエリではありません)。

問題のテーブルをミラーリングするメモリ (RAM、ENGINE=MEMORY) 内に一時テーブルを作成し、このメモリ内テーブルに対してすべてのクエリを実行すると、パフォーマンスを向上させることはできますか?:

tmp_table_name に対してクエリを実行します

MySQL ドキュメントを参照してください: MEMORY (HEAP) ストレージ エンジン

ありがとう。

0 投票する
0 に答える
29 参照

sql-server - SQL サーバーのメモリ テーブル ファイルが大きくなるのはなぜですか

メモリ ファイル グループとファイルを既存のデータベースに追加しました。数分後、ファイルは 17GB に拡大しました。

次に、さらにいくつかのファイルを追加しましたが、それらもゆっくりと成長しています。現在は 700MB と 536MB です。昨日から100%の成長です。

私の質問は次のとおりです。なぜこれが起こっているのですか?メモリ テーブルを追加しておらず、Service Broker が無効になっています。

手がかりはありますか?

0 投票する
1 に答える
167 参照

mysql - メモリーテーブル結合 InnoDB テーブルからの MySQL の削除

私のクエリは次のとおりです。

そしてMySQLは次のように不平を言います:

MySQL では、メモリ テーブルを innodb テーブルに結合することも、2 つの通常のテーブルを結合しながら削除することも制限されています。しかし、それを InnoDB テーブルと結合している間、メモリ テーブルから削除することに制限はありますか?

0 投票する
0 に答える
440 参照

delphi - TFDMemtable FieldDefs はルックアップ フィールドを考慮しませんか?

Delphi 10.2.3 を使用して、フィールド エディタを使用して 5 つのフィールドを定義した FiredacTFDMemTableコンポーネントをフォームにドロップしました。これらのフィールドの 1 つはルックアップ フィールド ( FieldKind = fkLookup) です。

MemSourceMemTable のすべてのフィールドをスキャンしてそれらのフィールドを Memtable に追加するコードを作成しましたMemDestination

MemSource.FieldDefsフィールドの総数がルックアップを考慮していないため、スキャンに問題がありました。コードを参照してください:

4 つのフィールドしかないことに気付きましたmemSource.FieldDefs.Count。ルックアップ タイプの 5 番目のフィールドがありませんでした。

ただしmemSource.Fields.Count、5 つのフィールドを占めています。これは正しいことです。

質問は次のとおりです。

  1. 設計時に定義されたルックアップ フィールドは で考慮されFieldDefsますか?
    (考慮されていない場合、なぜですか?)

  2. memSource.FieldDefs.Countが と異なるのはなぜmemSource.Fields.Countですか? (つまり、memtable には定義よりも多くのフィールドがあります)

上記のコードで何か間違っていますか? 何 ?

前もって感謝します !!