問題タブ [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.
mysql - 一時 MEMORY テーブルをドロップしない場合、どのくらいの期間保持されますか (MySQL)
MySQL で再帰ストアド プロシージャを使用して という一時テーブルを生成してid_list
いますが、そのプロシージャの結果をフォローアップの選択クエリで使用する必要があるためDROP
、プロシージャ内で一時テーブルを作成することはできません...
プロシージャを呼び出すとき、最初の値は必要なブランチのトップ ID であり、2 番目の値はtier
プロシージャが再帰中に使用する です。tier = 0
再帰ループの前に、それが実行されるかどうかをチェックします。
したがって、私の質問は次のとおりです。手順の最後またはトランザクション内で一時テーブルを使用しない場合、そのテーブルはメモリ内にどれくらいの期間保持されますか? セッションが終了すると自動的に削除されますか、それとも接続が開いている限りメモリに残りますか?DROP
MEMORY
**注: 明らかな答えは、コミット ステートメントの前に一時テーブルを削除することかもしれませんが、それができないと仮定しましょう。*
この質問に対するより詳細な回答は、https ://dba.stackexchange.com/questions/57971/how-long-will-a-temporary-memory-table-persist-if-i-dont-drop- にあります。 it-mysqlなので、この質問を閉じることに投票しました。
mysql - MySQL: MEMORY STORAGE ENGINE を使用してこのクエリのパフォーマンスを向上させる
私はこのユースケースを持っています:同じテーブルに対して同じ「ロジック」クエリを一定回数、複数回実行する必要があります(同じセマンティックで、「WHERE」ステートメントが比較される値のみが異なります)。
クエリ レイアウト:
このタスクのパフォーマンスを向上させるふりをします。
この問題についてここで見つけた記事を読んだり、追加の調査を行ったりすると、次の関連する事実を指摘できます。
- 内部一時テーブルは使用されません (クエリで EXPLAIN を使用)
- クエリ キャッシュは使用されません (同一のクエリではありません)。
問題のテーブルをミラーリングするメモリ (RAM、ENGINE=MEMORY) 内に一時テーブルを作成し、このメモリ内テーブルに対してすべてのクエリを実行すると、パフォーマンスを向上させることはできますか?:
tmp_table_name に対してクエリを実行します
MySQL ドキュメントを参照してください: MEMORY (HEAP) ストレージ エンジン
ありがとう。
sql-server - SQL サーバーのメモリ テーブル ファイルが大きくなるのはなぜですか
メモリ ファイル グループとファイルを既存のデータベースに追加しました。数分後、ファイルは 17GB に拡大しました。
次に、さらにいくつかのファイルを追加しましたが、それらもゆっくりと成長しています。現在は 700MB と 536MB です。昨日から100%の成長です。
私の質問は次のとおりです。なぜこれが起こっているのですか?メモリ テーブルを追加しておらず、Service Broker が無効になっています。
手がかりはありますか?
mysql - メモリーテーブル結合 InnoDB テーブルからの MySQL の削除
私のクエリは次のとおりです。
そしてMySQLは次のように不平を言います:
MySQL では、メモリ テーブルを innodb テーブルに結合することも、2 つの通常のテーブルを結合しながら削除することも制限されています。しかし、それを InnoDB テーブルと結合している間、メモリ テーブルから削除することに制限はありますか?
delphi - TFDMemtable FieldDefs はルックアップ フィールドを考慮しませんか?
Delphi 10.2.3 を使用して、フィールド エディタを使用して 5 つのフィールドを定義した FiredacTFDMemTable
コンポーネントをフォームにドロップしました。これらのフィールドの 1 つはルックアップ フィールド ( FieldKind = fkLookup
) です。
MemSource
MemTable のすべてのフィールドをスキャンしてそれらのフィールドを Memtable に追加するコードを作成しましたMemDestination
。
MemSource.FieldDefs
フィールドの総数がルックアップを考慮していないため、スキャンに問題がありました。コードを参照してください:
4 つのフィールドしかないことに気付きましたmemSource.FieldDefs.Count
。ルックアップ タイプの 5 番目のフィールドがありませんでした。
ただしmemSource.Fields.Count
、5 つのフィールドを占めています。これは正しいことです。
質問は次のとおりです。
設計時に定義されたルックアップ フィールドは で考慮され
FieldDefs
ますか?
(考慮されていない場合、なぜですか?)memSource.FieldDefs.Count
が と異なるのはなぜmemSource.Fields.Count
ですか? (つまり、memtable には定義よりも多くのフィールドがあります)
上記のコードで何か間違っていますか? 何 ?
前もって感謝します !!