問題タブ [anti-join]

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

oracle - NOT IN クエリから非常に迅速に結果を返す

アイテムのコレクション (> 100 万) と、それを処理するいくつかの処理を行うシステムがあります。各プロセッサは各項目を 1 回だけ処理する必要があり、プロセッサには階層があります。

私たちの現在の実装は、各プロセッサがすでに行ったことを追跡する「処理済み」テーブルを持つことです。

私たちのクエリはこれです (itemsProcessed関連するインデックスがあります) - NOT IN を使用して、現在のプロセッサまたはその祖先によって既に処理されたアイテムを除外しています。

処理されたテーブルが非常に大きくなると、最初のアイテムを返し始める前に多くのフィルタリングを行う必要があるため、このクエリは長い時間 (数秒) かかり始めます (クエリ プランはハッシュ アンチジョインを使用しています)。

最初のいくつかの項目を非常に迅速に返すために、このクエリが必要です。理想的には、500ms 未満で最初の項目を返します。これは、反復処理をitems行って 内のものを除外できないことを意味しitemsProcessedます。itemsしたがって、 andの結合で否定インデックスを実行する何らかの方法が必要ですitemsProcessed(これは mongo で達成しましたが、oracle では同様のことができないようです)。

これはオラクルで可能ですか?

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

r - R tidytext stop_words は、gutenbergr のダウンロードから一貫してフィルタリングされません

これは奇妙なパズルです。Gutenbergr から 2 つのテキストをダウンロードしました - Alice in Wonderland と Ulysses。stop_words は Alice から消えますが、Ulysses には残っています。この問題は、anti_join をフィルター (!word %in% stop_words$word) に置き換えても持続しました。

Ulysses から stop_words を取得するにはどうすればよいですか?

ご協力いただきありがとうございます!

Alice & Ulysses の上位 15 の tf_idf のプロット

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

sql - Oracleのアンチ結合の代替手段

別のテーブル ('PARENT') への外部キーを持つ必要があるテーブル ('CHILD') から行を選択する必要があるという問題に直面しています。問題は、外部キーが壊れていることです (簡単に言えば、テーブルがパーティション分割されており、何らかの理由で孤立している) ため、外部キーを復元する前に子テーブルをクリーンアップする必要があります。私がやろうとしていることは(大まかに)です:

これは (結果から判断すると) 正しいように見えますが、非常に非効率的です。100 万件の結果があり、子テーブルには 1 億行以上が保持されています。そのクエリの結果から各行を削除する必要があるため、ページネーションを使用していますが、これは NOT IN クエリが毎回繰り返されることを意味します。このため、クエリのパフォーマンスを向上させる方法があるかどうか疑問に思っています。テーブルに参加しようとしましたが、参加する必要があるため機能しないことに気付きましたchild.PARENT_ID = parent.ID。結果はありません。問題は、NOT IN クエリを書き直してパフォーマンスを向上させる方法はないかということです。

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

r - R: 2 つの列の値に基づいて欠落しているレコードを取得する方法

経度/緯度座標の 2 つの大きなデータフレームがCoastalStates_Taxあり、これらは数百万の座標があるCoastalStatesことを除いてほとんど同じです。のどの行が にないCoastalStates_Taxかを把握したいのですが、データセット内のどこにいても欠落している行のインデックスを追跡できる必要があります。CoastalStates_TaxCoastalStatesTax

これはCoastalStates_Tax次のようになります。

そしてCoastalStates

で dplyranti_join関数を使用してみanti_join(CoastalStates_Tax,CoastalStates,by=c("PROPERTY LEVEL LONGITUDE","PROPERTY LEVEL LATITUDE"))ましたが、4,635,393 行しか表示されません。
2 つのデータセットの行数の差は 4,637,029 であるため、約 1600 行が不足していますが、その理由はわかりません。私は を誤用anti_joinしていますか?もしそうなら、これについて他の方法で何か提案はありますか?