memory management - GC overhead limit exceeded when querying on OrientDB -
my database has 200.000 documents, linked property has 6 million documents. when query it, queries, error gc overhead limit exceeded appears.
my computer has 16gb of ram , give 8 gb orientdb (-dstorage.diskcache.buffersize=8192) , put -xms1024 -xmx2048. , i've tried other options like: -xms128 -xmx4096, , other options.
can me how fix it? or isn't orientdb enough work amount of data?
my data this:
{"@type":"d","@class":"part","p_partkey": 2, "lineorder": [{"@type":"d","@class":"lineorder","customer": [{"@type":"d","@class":"customer","c_city": "indonesia1"}], "lo_supplycost": 54120, "orderdate": [{"@type":"d","@class":"orderdate","d_weeknuminyear": 19}], "supplier": [{"@type":"d","@class":"supplier","s_phone": "16-789-973-6601|"}], "commitdate": [{"@type":"d","@class":"commitdate","d_year": 1993}], "lo_tax": 7}, {"@type":"d","@class":"lineorder","customer": [{"@t...
there 200 thousand part of class part 1 property lineorder type linklist, each part have more 1 lineorder of class lineorder 4 properties, customer, supplier , commitdate, linkedlist too.
an example of queries:
select sum(eval("line.lo_extendedprice * line.lo_discount / 100")) revenue (select lineorder line part lineorder.orderdate contains (d_year=1993) unwind line) line.lo_discount between 1 , 3 , line.lo_quantity<25 , line.orderdate contains (d_year=1993)
after trying lot of things way answers avoiding unwind operation on sub-queries responses when returns lot of documents. have create relationship between lineorder (second level of nested documents) , part, in case classes have have common fields, in case lo_partkey class lineorder , p_partkey class part, create relationship way:
create link ordered type linkset lineorder.lo_partkey part.p_partkey
so way avoid unwind lot of documents , or query parent atributes want child (lineorder in case).
Comments
Post a Comment