Hi Erick,
On 17 Jun 2008, at 09:11, Erick Antezana wrote:
Hi Hugh,
There was only one defined index on that table (RDF_QUAD_OGPS). I have
added the following:
create index RDF_QUAD_GSPO on DB.DBA.RDF_QUAD (G,S,P,O);
create bitmap index RDF_QUAD_POGS on DB.DBA.RDF_QUAD (P,O,G,S);
create bitmap index RDF_QUAD_PSOG on DB.DBA.RDF_QUAD (P,S,O,G);
create index RDF_QUAD_PSGO on DB.DBA.RDF_QUAD (P,S,G,O);
and the queries are still taking a lot of time although there seems to
be faster in some cases.
[Hugh] OK, so some improvement but still performance issues. Looking
through previous emails I note your are running on Linux but is in
unclear as to whether you are on 32 or 64 bit Linux, thus can you
please confirm. Note that running the file command on your virtuoso-t
binary should confirm whether it is 32 or 64 bit. The reason I ask is
that 32bit Linux would have a limit on of about 4GB on addressable
memory, so if you are using a 32bit binary you would be limited by
this, whereas if you are running a 64bit binary the addressable
memory is of the order of 16 ExtraBytes or whatever limit the OS/
hardware has imposed on the system. So, if the 16GB or intended 32GB
of memory on your machine is to be taken advantage of you need to be
running a 64bit binary, thus we need to confirm if this is the case.
Assuming you compiled the binary yourself we would also be interested
in the compiler flags used for your build to see if these are optimal.
In http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html
it is
recommended to have such similar indexes. I was not able to create the
ones with partitions since it seems that the partition option only
works
when one has a cluster? "...If clustering is not enabled, partitioning
can still be declared but it will have no effect..." (c.f.
http://docs.openlinksw.com/virtuoso/clusteroperationpart.html). Is
virtuoso V5 capable of dealing with that? If so, how should I do it?
I tried to follow the commands about the DBpedia benchmark
(http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html)
however,
after creating table r2 ( create table r2 (g iri_id, s iri_id, p
iri_id, o any, primary key (s, p, o, g)) ) then I tried to alter its
index (alter index R2 on R2 partition (s int (0hexffff00));) I got:
SQL> create table r2 (g iri_id, s iri_id, p iri_id, o any, primary key
(s, p, o, g))
Type the rest of statement, end with a semicolon (;)> ;
Done. -- 122 msec.
SQL> alter index R2 on R2 partition (s int (0hexffff00));
*** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1:
syntax
error at 'index' before 'R2'
at line 3 of Top-Level:
alter index R2 on R2 partition (s int (0hexffff00))
SQL>
[Hugh] This commands are indeed for the Virtuoso Clustered Server
version which is not currently available and thus do not work with
the current version, and thus have been removed from the online
documentation.
Regards
Hugh
Regards,
Erick