マイorientdbデータベースは約230万レコードを持っています。私は、文 SELECT FROM (select PROP1, PROP2, count(*) as c from vin_data group by PROP1) where c > 1
を使用して(それらの75万の周りにあります)すべての重複レコードを照会しようとしています。私は限界を200に設定すると、クエリには約180秒かかります(これは遅いと思います)。しかし、私は750000に制限を設定すると、それは私にメモリ不足エラーを与える。私のRAMは4GBで、Xms64mとXmx3600mを設定しました。私はPROP1とPROP1 + PROP2(コンポジット)にインデックスを設定しました。私の質問は - 230万レコードのデータベースでは4GBのRAMで十分ですか?彼らはGROUP BY
で使用されていないので、両方の索引上記のクエリのためにOrientdb GCオーバーヘッドの制限は、メモリエラーやパフォーマンスの低下のうち、/超過
3
A
答えて
2
は、無価値です。 「where」条件がない場合、クラス全体がスキャンされます。あなたは文の最後にPARALLEL
キーワードを追加することでそれを最適化しようとすることができます。複数のコアを使用している場合は、はるかに高速でなければなりません。とにかく
、あなたがはるかに高速でなければなりませんように(まだプレアルファで)次期リリースv3.0のに多くの労力が新しいSQLエンジンとクエリに置かれています。
関連する問題
- 1. ギャングツールがGCオーバーヘッドの上限を超過しました
- 2. java.lang.OutOfMemoryErrorを:春のツールスイートに超えGCオーバーヘッドの制限
- 3. OrientDBでクエリを実行すると、GCオーバーヘッドの上限を超えました
- 4. GCオーバーヘッドの上限は、ハッシュマップを埋めるときに超過しました
- 5. java.lang.OutOfMemoryError:GCオーバーヘッドの上限を超過リーダー
- 6. Geoserver - GCオーバーヘッド制限を超えました
- 7. スパークジョブエラーGCオーバーヘッド制限を超えました
- 8. GCオーバーヘッド制限を超えてMavenアセンブリプラグインが失敗する
- 9. パフォーマンス調整、outOfMemoryErrorGcとGC制限のパラメータを超えました
- 10. 繰り返し使用時のClojure GCのオーバーヘッド制限を超えました
- 11. java.lang.OutOfMemoryError:PersistenceUnitのデプロイメント時にGCオーバーヘッドの上限を超えました
- 12. cassandra 2.2.8:sstableverify - GCのオーバーヘッドの上限を超えました
- 13. GCオーバーヘッドの上限を超えました - Androidスタジオ
- 14. Neo4j GCオーバーヘッド上限
- 15. PermGenのメモリ不足とGCオーバーヘッド制限の回避
- 16. java.lang.OutOfMemoryError:大きなテキストファイルの読み取り中にGCオーバーヘッドの上限を超過しました
- 17. パフォーマンスの低下は
- 18. スパークメモリへの大規模なデータセットのキャッシュの「GCオーバーヘッドの制限を超えて」(経由sparklyr&RStudio)
- 19. アンドロイドソースの作成時にGCオーバーヘッドの上限を超えました
- 20. スレッド "main"の例外java.lang.OutOfMemoryError:GWTアプリケーションでGCオーバーヘッドの上限を超えました
- 21. java.lang.OutOfMemoryError:アンドロイドプロジェクトの実行中にGCオーバーヘッドの上限を超えました
- 22. Java GCのオーバーヘッドの上限を超えました - カスタムソリューションが必要です
- 23. GCオーバーヘッドの制限は、資産の超過:プリコンパイルをレールに私は<code>rake assets:precompile RAILS_ENV=production</code>を実行すると
- 24. java.lang.OutOfMemoryErrorを使用したJAVA処理ファイル:GCオーバーヘッドの上限を超えたエラー
- 25. Firebase Java Langメモリ不足エラー:GCオーバーヘッドの上限を超えました
- 26. Tweepy Twitter APIレート制限を超過
- 27. java.lang.OutOfMemoryErrorを:GCオーバーヘッドの制限は、私がScalaの開発者ですScalaの
- 28. パフォーマンスが低下したときのSQL Server 2005の行の制限
- 29. GoogleのスプレッドシートでImportXMLの制限を超過するには
- 30. BCryptパフォーマンス低下
私は理解しています。応答していただきありがとうございます。私は別の目的のためにクラスを索引付けしました。したがって、クエリの種類を考慮すると、230万レコードが4GB RAMを占有するのは正常ですか?今私の目的は、私のデータベースから重複を削除することです。あなたの質問をスピードアップすることを提案するどんなトリックですか?ところで –
、私は(それが重要な場合)8つのコアおよびSSDに並列、Xmxのために20ギガバイトを割り当てる、24ギガバイトのRAMを搭載したシステム上でクエリを実行します。私はまだGCオーバーヘッドの限界を超えて取得します。私はこれが正常ではないと確信しています。トラブルシューティングの提案はありますか? v3.0はいつリリースされるのですか? –
残念ながら 'group by'と' order by'はRAMで動作します。最終結果セットのレコードが2つ以上グループ化されているレコードはいくつありますか?この 'SELECT count(*)FROM(PROP1によってvin_dataグループからcとしてPROP1、PROP2、count(*)を選択する)を実行できますか? – Lvca