我的orientdb數據庫擁有大約230萬條記錄。我試圖查詢所有重複記錄(其中有大約750,000)使用聲明 - SELECT FROM (select PROP1, PROP2, count(*) as c from vin_data group by PROP1) where c > 1
。當我將限制設置爲200左右時,大約需要180秒才能查詢(我認爲這很慢)。但是,當我將限制設置爲750000時,它會給我帶來內存不足的錯誤。我的內存是4GB,我已經設置了Xms64m和Xmx3600m。我已經設置了PROP1和PROP1 + PROP2(複合)的索引。我的問題是 - 對於230萬個記錄數據庫,4GB內存足夠了嗎?Orientdb GC開銷限制超出/內存不足錯誤和性能下降
3
A
回答
2
對於上面的查詢,兩個索引都毫無價值,因爲它們不在GROUP BY
中使用。沒有任何「where」條件,整個班級都會被掃描。您可以嘗試通過在語句末尾添加PARALLEL
關鍵字來優化它。如果你有多個內核,它應該快得多。
無論如何,隨着即將發佈的v3.0版本(仍在alpha版本之前),新的SQL引擎中已經付出了很多努力,像你這樣的查詢應該快得多。
相關問題
- 1. 內存不足錯誤 - 超出GC開銷限制
- 2. Firebase Java Lang內存不足錯誤:超出了GC開銷限制
- 3. 錯誤com.graphhopper.http.GHErrorHandler - 超出GC開銷限制
- 4. 避免PermGen超出內存和超出GC開銷限制
- 5. 超出GC開銷限制
- 6. 超出GC開銷限制 - Android Studio
- 7. 匕首2超出GC開銷限制
- 8. Robolectric。 Maven OutOfMemoryError:超出GC開銷限制
- 9. Gridgain:java.lang.OutOfMemoryError:超出GC開銷限制
- 10. neo4j中超出GC開銷限制
- 11. Jmeter java.lang.OutOfMemoryError:超出GC開銷限制
- 12. java.lang.OutOfMemoryError:超出GC開銷限制
- 13. PigLatin:java.lang.OutOfMemoryError:超出GC開銷限制
- 14. GC開銷超出限制 - 陣列
- 15. Spring SimpleJdbcTemplate:java.lang.OutOfMemoryError:超出GC開銷限制
- 16. Java PreparedStatement java.lang.OutOfMemoryError:超出GC開銷限制
- 17. Datomic超出GC開銷限制
- 18. Neo4j超出GC開銷限制
- 19. 螞蟻常春藤:堆內存不足:超過GC開銷限制
- 20. 避免「GC開銷超限」錯誤
- 21. 錯誤:XSSFWorkbook中超出了GC開銷限制
- 22. 錯誤:java.lang.OutOfMemoryError:超出GC開銷限制Android Studio
- 23. Neo4j導入工具 - OutOfMemory錯誤:超出GC開銷限制
- 24. Eclipse崩潰,GC開銷限制超出錯誤
- 25. cloudera hadoop mapreduce job GC開銷限制超出錯誤
- 26. BIRT運行時錯誤 - java.lang.OutOfMemoryError:超出GC開銷限制
- 27. Tomcat崩潰,錯誤java.lang.OutOfMemoryError:超出GC開銷限制
- 28. 讀取文本文件時,GC開銷限制超出錯誤
- 29. 錯誤:未捕獲的翻譯錯誤:java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:超出GC開銷限制
- 30. Tomcat7 - GC開銷超過限制
我明白了。感謝您的迴應。儘管我爲了不同的目的而編制了我的課程。那麼,考慮到查詢的種類,佔用4GB RAM的230萬條記錄是正常的?我現在的目的是從我的數據庫中刪除重複項。任何你可能會暗示的技巧可以加快我的查詢速度? –
順便說一句,我在24 GB RAM的系統上執行查詢,爲Xmx分配20GB,並行化8個內核和SSD(如果有的話)。我仍然會超過GC的開銷限制。我很確定這是不正常的。任何疑難解答建議?什麼時候會發布v3.0? –
不幸的是,'group by'和'order by'工作在RAM中。最終結果集中有多少條記錄有多條記錄分組?你可以執行這個'SELECT count(*)FROM(從PROP1選擇PROP1,PROP2,count(*)作爲來自vin_data組的c)其中c> 1'? – Lvca