In order to get a better understanding of the cost of data queries some tests have been carried out.
Different databases, different ways of specifying the query and various indexing methods have been tried.
Sample Data are stored in a relational database.
A perl script is run to retrieve events located in a region defined by ra_max, dec_max, ra_min,dec_min
. (typically 32x32 degrees).
The time spent by the query as well as the number of events found are kept.
The query is launched 100 times, statistics are output.
Radius |
events |
oracle |
mysql |
postgresql |
---|---|---|---|---|
1 |
135 |
90 |
4 |
30 |
2 |
360 |
110 |
9 |
40 |
8 |
4300 |
280 |
100 |
260 |
16 |
15000 |
900 |
380 |
2200 |
On the X axis is the dimension : a value of 16 defines a square of 32x32 degrees.
The Y axis indicates the time in milliseconds.
The crosshairs show the number of events found divided by 10.
These results are for queries using spatial functionnalities implemented by the RDMS.
A R-tree index has been created to improve performances.
Details are available on this page.
See also: