Q
qaz
I have created a very large database of stock prices and company financial
information. The queries are PAINFULLY slow. For example, I queried the
database for a Count of the number of records in the table, and it took 10
minutes to execute. I asked it to return all stocks from a list of stocks
that had a capitalization of greater than $25,000,000 and it took 38 minutes
to execute! Furthermore, I have only added 2 years worth of data to the
database. I want to add considerably more data into the database for other
years.
Can anyone point me to a decent tutorial on the correct methods of creating
and searching very large databases so I can start to learn how the serious
database administrators handle the problem of the very large database?
For example, one question I'd like to find an answer to is this: One table
of company information has 137 fields containing company financial
information. I have a basic understanding of normalization and it appears
to me that all the fields are appropriately placed in a single table.
However, in order to speed things up, would it be better to "artificially"
split up those fields and place them in separate tables and then, one would
hope, my searches could often be run against smaller tables? In other
words, for very large databases, would that kind of "fragmentation" of
company financial data amongst different tables be a better approach?
Another approach I thought of was to separate company data in different
tables by year, viz., all 2005 data in one table, all 2004 data in another,
etc. Then if I needed to run a query that compared data from year to year I
would have to do successive searches against the different tables.
Well, you guys get the idea. Any help is appreciated.
Thanks.
information. The queries are PAINFULLY slow. For example, I queried the
database for a Count of the number of records in the table, and it took 10
minutes to execute. I asked it to return all stocks from a list of stocks
that had a capitalization of greater than $25,000,000 and it took 38 minutes
to execute! Furthermore, I have only added 2 years worth of data to the
database. I want to add considerably more data into the database for other
years.
Can anyone point me to a decent tutorial on the correct methods of creating
and searching very large databases so I can start to learn how the serious
database administrators handle the problem of the very large database?
For example, one question I'd like to find an answer to is this: One table
of company information has 137 fields containing company financial
information. I have a basic understanding of normalization and it appears
to me that all the fields are appropriately placed in a single table.
However, in order to speed things up, would it be better to "artificially"
split up those fields and place them in separate tables and then, one would
hope, my searches could often be run against smaller tables? In other
words, for very large databases, would that kind of "fragmentation" of
company financial data amongst different tables be a better approach?
Another approach I thought of was to separate company data in different
tables by year, viz., all 2005 data in one table, all 2004 data in another,
etc. Then if I needed to run a query that compared data from year to year I
would have to do successive searches against the different tables.
Well, you guys get the idea. Any help is appreciated.
Thanks.