From: Michael G. H. <mic...@gm...> - 2009-01-24 05:11:17
|
Hello again... There seems to be a real issue in using OQL against very database will large number of elements. Below is an example of the results of a number of queries.. ################################################# ~> eyedboql --database=stocks --read-writeWelcome to eyedboql. Type `\help' to display the command list. Type `\copyright' to display the copyright.? select Packet; = bag(2815.2.351591:oid, 2883.2.976032:oid, 2811.2.821166:oid) ? \p Packet {2815.2.351591:oid} = { *day = {2809.2.881020:oid}; mid = 150995217; market = "nyse_alternext"; records set<Record*> = set { name = ""; count = 3370933; }; }; Packet {2883.2.976032:oid} = { *day = {2809.2.881020:oid}; mid = 150995216; market = "nyse"; records set<Record*> = set { name = ""; count = 12176155; }; }; Packet {2811.2.821166:oid} = { *day = {2809.2.881020:oid}; mid = 150995218; market = "nasdaq"; records set<Record*> = set { name = ""; count = 4316445; }; }; ? 262462549.2.589980:oid; = 262462549.2.589980:oid ? \p Record {262462549.2.589980:oid} = { symbol = "AMD"; field bag<base_field*> = bag { name = ""; count = 8; }; quote_status = {qs_trade, qs_open, qs_instant}; *packet = {2883.2.976032:oid}; }; ? contents(select r.field from Record r where r.symbol == "AMD"); server failure: the EyeDB server has probably crashed or timed out. eyedboql exiting.. ~> ################################################# The simple query "select Record" also fails :~> eyedboql --database=stocks --read-write Welcome to eyedboql. Type `\help' to display the command list. Type `\copyright' to display the copyright. ? select Record; server failure: the EyeDB server has probably crashed or timed out. eyedboql exiting... XMan@earth:~> eyedboql --database=stocks --read-write Welcome to eyedboql. Type `\help' to display the command list. Type `\copyright' to display the copyright. ? select Packet; = bag(2815.2.351591:oid, 2883.2.976032:oid, 2811.2.821166:oid) ? \p Packet {2815.2.351591:oid} = { *day = {2809.2.881020:oid}; mid = 150995217; market = "nyse_alternext"; records set<Record*> = set { name = ""; count = 3370933; }; }; Packet {2883.2.976032:oid} = { *day = {2809.2.881020:oid}; mid = 150995216; market = "nyse"; records set<Record*> = set { name = ""; count = 12176155; }; }; Packet {2811.2.821166:oid} = { *day = {2809.2.881020:oid}; mid = 150995218; market = "nasdaq"; records set<Record*> = set { name = ""; count = 4316445; }; }; ? select Record; server failure: the EyeDB server has probably crashed or timed out. eyedboql exiting... ################################################# However the following query select r from Record r where r.symbol == "AMD" works I am going to play with the data I have in my database... However all these issues about making minor queries could be a real show stopper in my hopes in using the database as the core of my project database management .. Hopefully someone will have some idea how to get rid of the limitation for particularly large object count database. BTW the record count you see above is only for TRADE ONLY on half day worth of market data from just AMEX, NASDAQ and NYSE.. Michael.... |