マイ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オーバーヘッドの上限をPySparkで超過しました
- 2. ギャングツールがGCオーバーヘッドの上限を超過しました
- 3. java.lang.OutOfMemoryErrorを:春のツールスイートに超えGCオーバーヘッドの制限
- 4. GCオーバーヘッド制限を超えたliquibaseデータのエクスポートクラッシュ
- 5. OrientDBでクエリを実行すると、GCオーバーヘッドの上限を超えました
- 6. GCオーバーヘッドの上限は、ハッシュマップを埋めるときに超過しました
- 7. java.lang.OutOfMemoryError:GCオーバーヘッドの上限を超過リーダー
- 8. java.lang.OutOfMemoryError:クロール中にGCのオーバーヘッドの上限を超過しました
- 9. crashlyticsGenerateSymbolsRelease - GCオーバーヘッド制限を超えました
- 10. スパークジョブエラーGCオーバーヘッド制限を超えました
- 11. Geoserver - GCオーバーヘッド制限を超えました
- 12. GCオーバーヘッド制限を超えてMavenアセンブリプラグインが失敗する
- 13. パフォーマンス調整、outOfMemoryErrorGcとGC制限のパラメータを超えました
- 14. 繰り返し使用時のClojure GCのオーバーヘッド制限を超えました
- 15. java.lang.OutOfMemoryError:GCオーバーヘッド制限を超過しました。Java
- 16. cassandra 2.2.8:sstableverify - GCのオーバーヘッドの上限を超えました
- 17. java.lang.OutOfMemoryError:PersistenceUnitのデプロイメント時にGCオーバーヘッドの上限を超えました
- 18. エラー:XSSFWorkbookでGCオーバーヘッドの上限を超えました
- 19. GCオーバーヘッドの上限を超えました - Androidスタジオ
- 20. Neo4j OutOfMemoryエラー:GCオーバーヘッドの上限を超えました
- 21. AWS Snowball GCオーバーヘッドの上限を超えました
- 22. MySQLクエリでGCオーバーヘッドの上限を超えました
- 23. Neo4j GCオーバーヘッド上限
- 24. ヒープサイズを増やさずにGCオーバーヘッド限界を超えて固定
- 25. このGCオーバーヘッドの上限を超えるのはなぜですか?
- 26. PermGenのメモリ不足とGCオーバーヘッド制限の回避
- 27. java.lang.OutOfMemoryError:大きなテキストファイルの読み取り中にGCオーバーヘッドの上限を超過しました
- 28. パフォーマンスの低下は
- 29. スパークメモリへの大規模なデータセットのキャッシュの「GCオーバーヘッドの制限を超えて」(経由sparklyr&RStudio)
- 30. java.lang.OutOfMemoryError:アンドロイドプロジェクトの実行中にGCオーバーヘッドの上限を超えました
私は理解しています。応答していただきありがとうございます。私は別の目的のためにクラスを索引付けしました。したがって、クエリの種類を考慮すると、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